我正试图在昨天15:00和今天07:30之间返回行,但是似乎无法使它工作。 我尝试了以下两种方法,但没有用。
注意:
代码示例:
where dateadd(dd, datediff(dd,0,Getdate()),0)- 1
and dateadd(dd, datediff(dd,0,Getdate()),0)- 1) + '23:59:59'
where [Table].[Date Time] Between Date()-1 + TimeSerial(18,0,0)
And Date() + TimeSerial(18,0,0)
答案 0 :(得分:1)
您需要先使用DATE_ADD
,然后再使用INTERVAL n HOUR OR MINUTE
。
请检查随附的小提琴。 http://rextester.com/JIXU4144
select DATE_ADD(current_date, INTERVAL -9 HOUR);
select DATE_ADD(current_date, INTERVAL 450 minute);
select * from temp
where createdOn between '2018-08-28 15:00:00' and '2018-08-29 07:30:00';
select * from temp
where createdOn between DATE_ADD(current_date, INTERVAL -9 HOUR) and DATE_ADD(current_date, INTERVAL 450 minute)
答案 1 :(得分:0)
如果您使用的是MySQL,则可以执行以下操作:
where col >= curdate() - interval 1 day + interval 15 hour and
col < curdate() + interval 7.5 * 60 minute
您也可以这样写:
where col >= curdate() - interval 1 day + interval 15 hour and
col < curdate() + interval '7:30' hour_minute