NOW()
在性能、结果和DATE(NOW())
精度方面有什么区别?MySQL 将如何理解这两个函数?
我想知道什么是最好的
WHERE the_date < NOW()
和
WHERE the_date < DATE(NOW())
NOW() 返回当前日期/时间。DATE(NOW()) 返回日期部分。如果您只想知道日期,请使用 CURRDATE()。
您正在查看两个不同的比较。
由于the_date
包含一天中的时间,因此该表达式the_date < NOW()
将考虑您执行 SQL 语句时的一天中的时间,如果 YYYY-MM-DDthe_date
与当前日期时间相同,这可能会有所不同。
在 的情况下the_date < DATE(NOW())
,您正在比较the_date
,YYYY-MM-DD 00:00:00000
因此当前时间从NOW()
被忽略并设置为午夜。
这里更重要的是您需要做什么以及您期望的结果。
该DateTime.Now
属性返回当前日期和时间,例如2011-07-01 10:09.45310
。
该DateTime.Today
属性返回时间分量设置为零的当前日期,例如2011-07-01 00:00.00000
。
该DateTime.Today
属性实际上返回DateTime.Now.Date
: