mysql中日期函数NOW()和SYSDATE()都表示当前时间,NOW()取的是语句开始执行的时间,SYSDATE()取的是语句执行过程中动态的实时时间。
NOW()取自mysql的一个变量”TIMESTAMP”,这个变量在语句开始执行的时候就设定好了,因此在整个语句执行过程中都不会变化。
执行下面这个例子就明白了:
SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()
先查询了NOW()和SYSDATE(),然后sleep了3秒,再查询NOW()和SYSDATE(),结果如下:
NOW()还有3个同义词,效果跟NOW()一样,而且都有2种形式写法:
- LOCALTIME或LOCALTIME()
- LOCALTIMESTAMP或LOCALTIMESTAMP()
- CURRENT_TIMESTAMP或CURRENT_TIMESTAMP()