将日期时间插入预定义的 15 分钟间隔
Inserting Datetime into Predefined 15min Intervals
我有一个 table,其中包含日期时间值和出站电话号码。我需要能够将日期时间向下舍入到较低的 15 分钟间隔,这在我使用 DATEADD(mi,DATEDIFF(mi,0,[callplacedtime])/15*15, 0) 时很好。
我现在要做的就是例如。如果我的搜索参数在 08:00:00 到 20:00:00 之间,那么我需要在没有数据的时间间隔内看到“0”。
目前如果在特定时间段内没有记录则不会显示。
我不熟悉 SQL,但您可以按照以下行进行 If/ElseIf/Else 声明:
If second = 0 then displaysecond = "00"
Elseif 0 < second < 10 then displaysecond = "0" + second
Else displaysecond = second
您遇到的问题是因为在该范围内没有日期时间的电话号码,SQL不知道这些日期时间存在或需要显示。
尝试使用 numbers table 生成当天所有 15 分钟的偏移时间,然后从这些 15 分钟的值到当前数据集执行 LEFT 连接。这意味着所有的时间都将存在,但是如果那个 15 分钟的时间段没有呼叫号码,您将得到一个 NULL 来随意解释。
我有一个 table,其中包含日期时间值和出站电话号码。我需要能够将日期时间向下舍入到较低的 15 分钟间隔,这在我使用 DATEADD(mi,DATEDIFF(mi,0,[callplacedtime])/15*15, 0) 时很好。
我现在要做的就是例如。如果我的搜索参数在 08:00:00 到 20:00:00 之间,那么我需要在没有数据的时间间隔内看到“0”。
目前如果在特定时间段内没有记录则不会显示。
我不熟悉 SQL,但您可以按照以下行进行 If/ElseIf/Else 声明:
If second = 0 then displaysecond = "00"
Elseif 0 < second < 10 then displaysecond = "0" + second
Else displaysecond = second
您遇到的问题是因为在该范围内没有日期时间的电话号码,SQL不知道这些日期时间存在或需要显示。
尝试使用 numbers table 生成当天所有 15 分钟的偏移时间,然后从这些 15 分钟的值到当前数据集执行 LEFT 连接。这意味着所有的时间都将存在,但是如果那个 15 分钟的时间段没有呼叫号码,您将得到一个 NULL 来随意解释。