MySQL-在昨天下午3点到今天7:30之间选择行

时间:2018-08-29 10:08:55

标签: mysql sql

我正试图在昨天15:00和今天07:30之间返回行,但是似乎无法使它工作。 我尝试了以下两种方法,但没有用。

注意:

  • Getdate()在MySQL中应为CURDATE()
  • TIMESERIAL被数据库中的用户帐户拒绝

代码示例:

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)

2 个答案:

答案 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