SQL - 时间范围(CASE WHEN)

时间:2017-06-29 18:19:41

标签: mysql sql

我正在使用以下逻辑进行时间查询。但我不熟悉时间查询。有人可以帮忙吗?

CASE WHEN (07:00:00) TO (07:10:00) is between [STARTTIME] AND [STOPTIME] THEN 'YES'

开始时间和停止时间都是DateTime字段

2 个答案:

答案 0 :(得分:0)

为什么不

CASE WHEN '07:00:00' >= [STARTTIME] AND '07:10:00' <= [STOPTIME] THEN 'YES'

如果我清楚地了解你想做什么。

答案 1 :(得分:0)

HERE是查询: - 我使用@start_Time(对于STARTIME)和@end_Time(对于STOPTIME)作为局部变量,您可以替换它们。 (正如你所说的那样,如果你需要包括那些时间,那么我会介入这些值,而不是&gt;你需要使用&gt; =和&lt; replace with&lt; =)相同。

 select CASE WHEN ((time_to_sec(timediff('07:00:00', time(@Start_Time))))>0 
           AND  (time_to_sec(timediff('07:00:00', time(@end_Time))))<0) 
    AND
        ((time_to_sec(timediff('07:10:00', time(@Start_Time))))>0 
           AND  (time_to_sec(timediff('07:10:00', time(@end_Time))))<0) =1 
           THEN 'YES' else 'NO' END

希望它可以帮到你!!