FROM datedim WHERE year = YEAR(now());SELECT * FROM datedim WHERE year = YEAR(getNow());我的问题是,第一个是直接的,而第二个需要更长的时间。为什么做同样的事情,查找所有与year相同的日期到现在(),在使用函数时比直接给出它花费的时间要长得多。
这个例子很简单,但稍后我的函数将返回一个特定的日期,我只想了解发生了什么。
MySQL 5.0的迁移指南说,日期和DATETIME之间的比较方式已经改变了。不兼容更改:从MySQL 5.0.42开始,当将日期值与日期时间值进行比较时,通过将时间部分添加为00:00:00,将日期值强制为日期时间类型。以前,日期时间值的时间部分被忽略,或者比较可以作为字符串比较执行。若要模仿旧行为,请使用CAST()函数将比较操作数与以前一样处理。例如:
例如,"select . where my_date < now()“现在