MySQL "day"- 如何获得准确数字?

标签 mysql

我正在使用此函数来过滤超过 60 天的查询结果:

s.timeSubmitted >= ( CURDATE() - INTERVAL 60 DAY )

问题是,“60 天”部分似乎不是一个准确的数字。我希望它在 s.timeSubmitted 超过 60 天的地方进行过滤,精确到 s.timeSubmitted 的秒数。

如何将“60 天”写成精确数字(精确到秒)?

最佳答案

问题是 CURDATE()返回 DATE类型,而不是 DATETIME类型(即时)。从 DATE 中减去一个区间的结果也是 DATE
相反,试试这个:

s.timeSubmitted >= ( NOW() - INTERVAL 60 DAY )

这给了你你想要的,因为NOW()返回一个 DATETIME,因此减法的结果也是一个 DATETIME

关于MySQL "day"- 如何获得准确数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933608/

相关文章:

PHP 使用我的 CMS 上传图像?

php - MYSQL选择所有过期订阅者

php - MYSQL 在加载时显示结果

在 Spring JPA 中使用 @Query 从数据库获取数据时出现 java.lang.NullPointerException 。虽然查询返回MySql中的数据

mysql - 我该如何缩短或更改此代码?

mysql - 如何在 MYSQL 中使用 SELECT 子查询而不是 View ?

两个值之间的 MySQL WHERE 子句

mysql - 管理内部的大量数据和图像

mysql - Mavericks 升级后找不到 -lmysqlclient 的库

mysql - 如何为第一列有重复的行选择第二列?