这些函数都可以返回当前的系统时间,但它们之间有什么区别呢??大家先看一下以下这个例子。

select NOW(), CURRENT_TIMESTAMP(),SYSDATE();

mysql  NOW,CURRENT_TIMESTAMP,SYSDATE 之间的区别-LMLPHP

从上面的例子可以看出返回的都是当前的系统时间。切不要急大家再看一下下面的例子。

select NOW(), CURRENT_TIMESTAMP(),SYSDATE(),SLEEP(2),NOW(), CURRENT_TIMESTAMP(),SYSDATE();

mysql  NOW,CURRENT_TIMESTAMP,SYSDATE 之间的区别-LMLPHP

在上面的例子中加入了sleep函数,让其等待2S再执行,这时可以发现SYSDATE()函数返回的时间和前两个是不同的。究其原因是因为SYSDATE函数返回的是执行到当前函数时的时间,而NOW(), CURRENT_TIMESTAMP()则返回的是执行sql语句时的时间。

05-11 15:57