MySQL NOW() 和 SYSDATE() 的区别是什么?
MySQL NOW() 和 SYSDATE() 函数返回当前时间戳值。但是,它们俩的输出取决于执行时间。这造成了它们之间的巨大差异。
NOW() 函数返回一个恒定时间,指示特定语句开始执行的时间。相反,SYSDATE() 函数返回语句执行的准确时间。以下示例将展示这些函数之间的差异 −
mysql> Select NOW(), SLEEP(5), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(5) | NOW() | +---------------------+----------+---------------------+ | 2017-10-31 09:57:36 | 0 | 2017-10-31 09:57:36 | +---------------------+----------+---------------------+ 1 row in set (5.11 sec)
上述查询表明,NOW() 函数返回它开始执行的时间,因为即使在系统休眠 5 秒之后,它仍然返回相同的值。
mysql> Select SYSDATE(), SLEEP(5), SYSDATE(); +---------------------+----------+---------------------+ | SYSDATE() | SLEEP(5) | SYSDATE() | +---------------------+----------+---------------------+ | 2017-10-31 09:58:13 | 0 | 2017-10-31 09:58:18 | +---------------------+----------+---------------------+ 1 row in set (5.00 sec)
相比之下,上述查询表明,SYSDATE() 函数返回它执行的时间,因为在系统休眠 5 秒之后,它返回的值实际上增加了 5 秒。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP