我觉得我对这个人很愚蠢,明天睡觉和喝咖啡后甚至可能会来找我
我想使用参数将日期范围内的记录过滤到夜班或白班,白班参数工作正常,但是当我跨越两天时,我不能完全绕过夜班一个(轮班时间是从下午6点到凌晨5点。
这是我目前所拥有的,不会显示“夜晚”的任何记录......我明白为什么它没有,但我无法思考它是怎么回事应写成:)
AND
(
(@shift = 'Nights' AND DATEPART(hh,[PostingDate]) >= 17 AND DATEPART(hh,[PostingDate]) <= 6)
or (@shift = 'Days' AND DATEPART(hh,[PostingDate]) >= 6 AND DATEPART(hh,[PostingDate]) <= 17)
)
答案 0 :(得分:1)
Datepart(HH, PostingDate)
始终是相同的值,因此它永远不会同时为&gt; = 17和&lt; = 6.您可能希望使用OR
或{{ 1}}
例如:
NOT BETWEEN.