我要回溯到一天(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语句参数的准确性?
谢谢。
答案 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。