-3

NOW()在性能、结果和DATE(NOW())精度方面有什么区别?MySQL 将如何理解这两个函数?

我想知道什么是最好的

 WHERE the_date < NOW()

WHERE the_date < DATE(NOW())
4

3 回答 3

1

NOW() 返回当前日期/时间。DATE(NOW()) 返回日期部分。如果您只想知道日期,请使用 CURRDATE()。

于 2013-04-11T10:51:12.263 回答
1

您正在查看两个不同的比较。

由于the_date包含一天中的时间,因此该表达式the_date < NOW()将考虑您执行 SQL 语句时的一天中的时间,如果 YYYY-MM-DDthe_date与当前日期时间相同,这可能会有所不同。

在 的情况下the_date < DATE(NOW()),您正在比较the_dateYYYY-MM-DD 00:00:00000因此当前时间从NOW()被忽略并设置为午夜。

这里更重要的是您需要做什么以及您期望的结果。

于 2013-04-11T11:06:06.017 回答
0

DateTime.Now属性返回当前日期和时间,例如2011-07-01 10:09.45310

DateTime.Today属性返回时间分量设置为零的当前日期,例如2011-07-01 00:00.00000

DateTime.Today属性实际上返回DateTime.Now.Date

于 2013-04-11T10:50:58.833 回答