SYSDATE 与 NOW 比较

SYSDATE 与 NOW 比较

mysql> SELECT SYSDATE(), NOW();
+---------------------+---------------------+
| SYSDATE()           | NOW()               |
+---------------------+---------------------+
| 2020-07-02 16:03:41 | 2020-07-02 16:03:41 |
+---------------------+---------------------+
1 row in set (0.06 sec)

似乎SYSDATE()和NOW()函数都返回一个相同的值,它是执行语句时当前日期和时间。然而,SYSDATE()函数实际上返回执行时的时间,而NOW()函数返回一个常量时间,该语句开始执行。

mysql>  SELECT NOW(), SLEEP(2), NOW();
+---------------------+----------+---------------------+
| NOW()               | SLEEP(2) | NOW()               |
+---------------------+----------+---------------------+
| 2020-07-02 16:05:36 |        0 | 2020-07-02 16:05:36 |
+---------------------+----------+---------------------+
1 row in set (2.09 sec)

在这个例子中,我们使用SLEEP()函数暂停查询2秒。 在同一个语句中,NOW()函数总是返回一个常量,它是语句开始的时间。
我们将NOW()函数更改为SYSDATE()函数:

mysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE()           | SLEEP(2) | SYSDATE()           |
+---------------------+----------+---------------------+
| 2020-07-02 16:06:00 |        0 | 2020-07-02 16:06:02 |
+---------------------+----------+---------------------+
1 row in set (2.10 sec)

你可能感兴趣的:(SYSDATE 与 NOW 比较)