SQL DATE使用NOW()或CURRENT_DATE()生成不正确的结果

时间:2017-03-28 12:22:48

标签: mysql sql

SQL:

SELECT * FROM `ec_assessment_item` 
WHERE `ec_assessment_due_date` <= NOW()

SQL:

SELECT * FROM `ec_assessment_item` 
WHERE `ec_assessment_due_date` <= CURRENT_DATE()

我想显示所有数据都在截止日期之前,我测试了一些方法,包括NOW()和CURRENT_DATE(),但它总是清空结果。

预期结果应为id:2和3。

enter image description here

2 个答案:

答案 0 :(得分:0)

NOW和CURRENTDATE这是一些输出示例

NOW():2017-03-28 14:27:45
CURRENTDATE():2017-03-28

NOW()是日期时间格式(Y-m-d H:m:s)

CURDATE或CURRENTDATE是日期格式(Y-m-d)

您可以运行此脚本SELECT NOW(),CURRENT_DATE() ;

这应该有效。我测试了我的一面,它的工作原理

SELECT * FROM ec_assessment_item WHERE ec_assessment_due_date < CURRENT_DATE() ;

之前严格自卑的标志

此当前日期为2017-03-28,因此您今天之前所说的输出应该是空的

使用ec_assessment_due_date = 2017-03-27将另一行添加到表中。结果不再是空的。

答案 1 :(得分:-1)

SELECT * FROM `ec_assessment_item` 
WHERE `ec_assessment_due_date` <= CURDATE()