mysql-选择昨天下午3点到今天上午7:30之间的行

jrcvhitl  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(313)

我试着在昨天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)
tct7dpnv

tct7dpnv1#

你需要使用 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)
kninwzqo

kninwzqo2#

如果您使用的是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

相关问题