在预订日期和时间之前2小时之前返回所有记录

时间:2017-11-09 13:40:04

标签: mysql sql

如果到期日期和时间在预订日期和时间的2小时内,我会显示一个标记。

我将日期和时间保存在两个不同的列中,例如

date              time
2017-11-08       18:20
2017-11-09       21:20
2017-11-09       17:20
2017-11-10       22:20

当前时间是19:00

 I want to get 2017-11-09 21:20 and 2017-11-10 22:20

我尝试过这样的查询

CASE 
    WHEN ADDTIME(ts.schedule_date, twp.arrival_time) > SUBDATE(NOW(), INTERVAL 2 HOUR) AND 
    ADDTIME(ts.schedule_date, twp.arrival_time) >= NOW()  THEN '1' ELSE '0' END) schedule_status

这里我只得到1小时差异记录。

1 个答案:

答案 0 :(得分:0)

您可以在此处举例说明如何执行此操作:http://rextester.com/DQT4773

以下是查询:

select
    date
    ,time
    ,case when
       concat(date,' ',time) > DATE_ADD('2017-11-09 19:00', INTERVAL 2 HOUR) then 1 else 0 
    end as flag
from <your_table>;

只需将硬编码的日期时间更改为NOW();我根据你的例子

这样写了这个