它们都是一样的,因为NOW()在查询开始时被锁定了。
答案太短了吗?
好的,更多信息有关NOW()的MySQL参考
NOW()返回一个 恒定时间 ,该时间指示该语句 开始执行的时间
。(在存储的函数或触发器中,NOW()返回函数或触发语句开始执行的时间。)这与SYSDATE()的行为不同,后者返回确切的执行时间。
实际上,阅读SYSDATE()的手动条目实际上更有趣,它包含此代码段
mysql> SELECt NOW(), SLEEP(2), NOW();+---------------------+----------+---------------------+| NOW() | SLEEP(2) | NOW() |+---------------------+----------+---------------------+| 2006-04-12 13:47:36 | 0 | 2006-04-12 13:47:36 |+---------------------+----------+---------------------+mysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();+---------------------+----------+---------------------+| SYSDATE()| SLEEP(2) | SYSDATE()|+---------------------+----------+---------------------+| 2006-04-12 13:47:44 | 0 | 2006-04-12 13:47:46 |+---------------------+----------+---------------------+
您问什么有意思。.请 注意,您可以 在查询中进入 睡眠状态 ?? 考虑一下此查询(子查询仅模拟一个3记录表)
select *, now(), sleep(2), sysdate()from (select 1 N union all select 2 union all select 3) M
你得到:
N now()sleep(2) sysdate()1 2011-04-02 23:55:27 0 2011-04-02 23:55:292 2011-04-02 23:55:27 0 2011-04-02 23:55:313 2011-04-02 23:55:27 0 2011-04-02 23:55:33



