现在是晚上11点59分。你运行一个查询 SELECT CURDATE(), ... 运行需要5分钟。有些行是今天评估的,有些是明天评估的。结果集是否包含多个值(今天和明天) CURDATE() ?
SELECT CURDATE(), ...
CURDATE()
oalqel3c1#
mysql手册明确指出:每次返回当前日期或时间的函数在查询执行开始时每个查询只计算一次。这意味着在单个查询中对函数的多个引用(如now())总是产生相同的结果。。。这一原则也适用于curdate()、curtime()、utc\u date()、utc\u time()、utc\u timestamp()及其任何同义词。所以答案是:结果集将包含一个值,它将是“today”(查询执行开始的日期)。
1条答案
按热度按时间oalqel3c1#
mysql手册明确指出:
每次返回当前日期或时间的函数在查询执行开始时每个查询只计算一次。这意味着在单个查询中对函数的多个引用(如now())总是产生相同的结果。。。这一原则也适用于curdate()、curtime()、utc\u date()、utc\u time()、utc\u timestamp()及其任何同义词。
所以答案是:结果集将包含一个值,它将是“today”(查询执行开始的日期)。