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()