在数据库中,我有一列名为dato_tid(数据类型=日期)
现在我有2条帖子
1,日期为2018-07-18 2日期为2018-07-20
我需要选择需要不到24小时的帖子
SELECT * FROM `udflyt` WHERE dato_tid > DATE_ADD(CURDATE(), INTERVAL -1 day)
此行将同时选择两个帖子
SELECT * FROM `udflyt` WHERE dato_tid > DATE_ADD(CURDATE(), INTERVAL -24 HOUR)
这也一样,我确实尝试将>更改为<但相同。
SELECT * FROM `udflyt` WHERE dato_tid > (now() - interval 1 day )
此行也将同时获得这两个帖子
那我该怎么办,谢谢
答案 0 :(得分:5)
实际上,要走24小时意味着您应该添加一天,而不是减去一天。
SELECT *
FROM `udflyt`
WHERE dato_tid <= DATE_ADD(CURDATE(), INTERVAL +1 day);
我只会提供日期为'2018-07-18'的记录(我相信这是您想要的。
下面显示了用于进行加法和减法比较的值。
SELECT *, DATE_ADD(CURDATE(), INTERVAL +1 day), DATE_ADD(CURDATE(), INTERVAL -1 day)
FROM `udflyt`
WHERE dato_tid <= DATE_ADD(CURDATE(), INTERVAL +1 day);