首页 > MySQL函数 阅读:3,198

MySQL NOW和SYSDATE函数:获取当前时间日期

MySQL中 NOW() 和 SYSDATE() 函数的作用相同,都是返回当前日期和时间值,格式为“YYYY-MM-DD HH:MM:SS”或“YYYYMMDDHHMMSS”,具体格式根据函数用在字符串或数字语境中而定。

【实例 1】使用日期时间函数 NOW 和 SYSDATE 获取当前系统的日期和时间,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT NOW(),SYSDATE();
+---------------------+---------------------+
| NOW()               | SYSDATE()           |
+---------------------+---------------------+
| 2017-04-01 19:36:52 | 2017-04-01 19:36:52 |
+---------------------+---------------------+
1 row in set (0.04 sec)
由运行结果可以看到,NOW 函数和 SYSDATE 函数返回的结果是相同的。

虽然在 MySQL 中 NOW() 和 SYSDATE() 都表示当前时间,但是 NOW() 取的是语句开始执行的时间,而 SYSDATE() 取的是语句执行过程中动态的实时时间。

【实例 2】先查询了 NOW() 和 SYSDATE(),然后 sleep 了 3 秒,再查询 NOW() 和 SYSDATE(),结果如下:
mysql> select now(),sysdate(),sleep(3),now(),sysdate();
+-----------------------+------------------------+-------------+-----------------------+---------------------+
| now()                 | sysdate()              | sleep(3)    | now()                 | sysdate()           |
+-----------------------+------------------------+-------------+------------------- ---+---------------------+
| 2019-02-27 10:59:39   | 2019-02-27 10:59:39    |        0    | 2019-02-27 10:59:39   | 2019-02-27 10:59:42 |
+-----------------------+------------------------+-------------+-----------------------+---------------------+
1 row in set (3.00 sec)
由运行结果可以看出,NOW() 函数始终获取的是 SQL 语句开始执行的时间,而 SYSDATE() 函数则是动态获取的实时时间。

所有教程

优秀文章