选择的行是-24小时

时间:2018-07-17 08:55:16

标签: php mysql date

在数据库中,我有一列名为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 )

此行也将同时获得这两个帖子

那我该怎么办,谢谢

1 个答案:

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