mysql-记录特定时间的两个日期之间

时间:2018-12-14 10:05:17

标签: mysql sql datetime

我要回溯到一天(24小时)下午5点之前的记录。我正在使用此sql语句

SELECT *
FROM records
WHERE `id` = ?
  AND dt_time BETWEEN date_sub(now(),INTERVAL 1 day) and concat(curdate(),' 17:30:00')

首先,这句话可以吗?

第二,如何获取concat(curdate(),' 17:30:00')date_sub(now(),INTERVAL 1 day)的值,即运行的sql查询的确切日期时间,以验证sql语句参数的准确性? 谢谢。

1 个答案:

答案 0 :(得分:0)

假设您想要今天17:30到今天17:30-24小时之间的记录,请使用以下where子句:

WHERE dt_time >  TIMESTAMP(CURRENT_DATE, '17:00:00') - INTERVAL 24 HOUR AND
      dt_time <= TIMESTAMP(CURRENT_DATE, '17:00:00')

TIMESTAMP函数用于组合日期和时间。调整><=运算符以控制是否包含或排除5PM。