NOW()和DATE(NOW())之间有什么区别?

时间:2013-04-11 10:47:50

标签: mysql sql date

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

我想知道

之间最好的是什么
 WHERE the_date < NOW()

WHERE the_date < DATE(NOW())

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

您正在考虑两种不同的比较。

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

对于the_date < DATE(NOW()),您要将the_dateYYYY-MM-DD 00:00:00000进行比较,因此忽略NOW()的当前时间并将其设置为午夜。

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

答案 2 :(得分:0)

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

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

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