MySQL 内置函数NOW() 和 SYSDATE() 区别

1、在mysql中,Now()和SYSTEM()函数返回的都是当前的时间戳值,且格式一样,如下

MySQL 内置函数NOW() 和 SYSDATE() 区别_第1张图片

 2、具体区别在于两者的输出结果取决于执行时间,这造成了它们之间很大的差异,如下:

 2.1 NOW()函数返回一个稳定的时间,指的是特定语句开始执行的时间。

mysql> Select NOW(), SLEEP(10), NOW();
+---------------------+----------+---------------------+
| NOW()               | SLEEP(10) | NOW()               |
+---------------------+----------+---------------------+
| 2023-09-13 14:21:39 | 0        | 2023-09-13 14:21:39 |
+---------------------+----------+---------------------+

 从上面可以看出,NOW()函数返回的是开始执行的时间,因为即使系统休眠了10秒钟,仍然返回相同的值 

 2.2 SYSDATE()函数返回在语句执行时的准确时间

Select SYSDATE(), SLEEP(10), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE()           | SLEEP(10) | SYSDATE()           |
+---------------------+----------+---------------------+
| 2023-09-13 14:21:44 | 0        | 2023-09-13 14:21:54 |
+---------------------+----------+---------------------+

而上面的查询表明SYSDATE()函数返回的是语句执行时的时间,即会加上查询消耗的时间,因为经过10秒的系统休眠后,第二个SYSTEM()返回的值实际上增加了10秒钟。

你可能感兴趣的:(mySql,数据库工具,mysql,数据库)