Mysql 日期条件显示不正确的结果
Mysql date condition shows incorrect results
SELECT *
FROM memories
WHERE date > unix_timestamp(DATE(NOW()) - INTERVAL 1 DAY)
GROUP BY user_id
ORDER BY date DESC
我使用这个查询来获取 1 天的记忆
在日期栏中,它全部存储为 UNIX 时间戳,因此我使用 1583212980 时间戳,即 2020 年 3 月 3 日星期二 5:23:00 AM(当前日期前 30 小时)进行测试。
我得到了时间戳为 30 小时前的返回记录。
如何检查这里的问题在哪里?
DATE()
正在从 NOW()
函数中删除时间,因此当您减去 1 Day
时,它会从 2020-03-04 00:00:00
中减去一天
改为
SELECT *
FROM memories
WHERE date > unix_timestamp(NOW() - INTERVAL 1 DAY)
GROUP BY user_id
ORDER BY date DESC
SELECT *
FROM memories
WHERE date > unix_timestamp(DATE(NOW()) - INTERVAL 1 DAY)
GROUP BY user_id
ORDER BY date DESC
我使用这个查询来获取 1 天的记忆
在日期栏中,它全部存储为 UNIX 时间戳,因此我使用 1583212980 时间戳,即 2020 年 3 月 3 日星期二 5:23:00 AM(当前日期前 30 小时)进行测试。
我得到了时间戳为 30 小时前的返回记录。
如何检查这里的问题在哪里?
DATE()
正在从 NOW()
函数中删除时间,因此当您减去 1 Day
时,它会从 2020-03-04 00:00:00
改为
SELECT *
FROM memories
WHERE date > unix_timestamp(NOW() - INTERVAL 1 DAY)
GROUP BY user_id
ORDER BY date DESC