失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql数据库sysdate_mysql now() sysdate() 区别

mysql数据库sysdate_mysql now() sysdate() 区别

时间:2019-12-31 04:31:45

相关推荐

mysql数据库sysdate_mysql now() sysdate() 区别

在mysql中,now()和sysdate()两个函数都可以返回当前时间,但是两者是有区别的。下面我们先来看一下mysql的官方解释:

NOW()returns a constant time that indicates the time at which the statement began to execute.

This differs from the behavior forSYSDATE(), which returns the exact time at which it executes.

now()函数返回语句开始执行的时间;而sysdate()返回函数执行到的时间。

下面给出四种情况来理解两个函数的不同。

mysql>selectNOW(),SLEEP(5),NOW();

+---------------------+----------+---------------------+

|NOW()|SLEEP(5)|NOW()|

+---------------------+----------+---------------------+

|-09-2410:19:44|0|-09-2410:19:44|

+---------------------+----------+---------------------+

mysql>selectSYSDATE(),SLEEP(5),SYSDATE();

+---------------------+----------+---------------------+

|SYSDATE()|SLEEP(5)|SYSDATE()|

+---------------------+----------+---------------------+

|-09-2410:20:53|0|-09-2410:20:58|

+---------------------+----------+---------------------+

mysql>selectNOW(),SLEEP(5),SYSDATE();

+---------------------+----------+---------------------+

|NOW()|SLEEP(5)|SYSDATE()|

+---------------------+----------+---------------------+

|-09-2410:21:30|0|-09-2410:21:35|

+---------------------+----------+---------------------+

mysql>selectSYSDATE(),SLEEP(5),NOW();

+---------------------+----------+---------------------+

|SYSDATE()|SLEEP(5)|NOW()|

+---------------------+----------+---------------------+

|-09-2410:22:09|0|-09-2410:22:09|

+---------------------+----------+---------------------+

第一条语句:因为now()返回SQL语句开始执行的时间,所以尽管休眠5秒,两次调用的结果一致。

第二条语句:sysdate()返回调用该函数时的时间,所以休眠5秒,两次调用结果相差5秒。

第三条语句:先执行now()返回语句开始执行的时间,然后休眠5秒,所以两次时间相差5秒。

第四条语句:先执行sysdate()返回调用的时间,这个时间就是sql语句开始执行的时间,所以两个时间一致。

如果觉得《mysql数据库sysdate_mysql now() sysdate() 区别》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。