在一个足够长的查询中,“select curdate()”是否会跨天返回多个值?

kulphzqa  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(261)

现在是晚上11点59分。你运行一个查询 SELECT CURDATE(), ... 运行需要5分钟。有些行是今天评估的,有些是明天评估的。结果集是否包含多个值(今天和明天) CURDATE() ?

oalqel3c

oalqel3c1#

mysql手册明确指出:
每次返回当前日期或时间的函数在查询执行开始时每个查询只计算一次。这意味着在单个查询中对函数的多个引用(如now())总是产生相同的结果。。。这一原则也适用于curdate()、curtime()、utc\u date()、utc\u time()、utc\u timestamp()及其任何同义词。
所以答案是:结果集将包含一个值,它将是“today”(查询执行开始的日期)。

相关问题