站长资讯网
最全最丰富的资讯网站

mysql中如何获取当前日期?日期函数有哪些?

在mysql中,可以使用CURDATE()和CURRENT_DATE()函数来获取当前日期,可以将当前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式的值返回,具体格式根据函数用在字符串或数字语境中而定。

mysql中如何获取当前日期?日期函数有哪些?

(推荐教程:mysql视频教程)

MySQL 中 CURDATE() 和 CURRENT_DATE()

MySQL 中 CURDATE() 和 CURRENT_DATE() 函数的作用相同,将当前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式的值返回,具体格式根据函数用在字符串或数字语境中而定。

【实例1】使用日期函数 CURDATE 和 CURRENT_DATE 获取系统当前日期,输入的 SQL 语句和执行结果如下所示。

mysql> SELECT CURDATE(),CURRENT_DATE(),CURRENT_DATE()+0; +------------+----------------+------------------+ | CURDATE()  | CURRENT_DATE() | CURRENT_DATE()+0 | +------------+----------------+------------------+ | 2020-10-13 | 2020-10-13     |         20201013 | +------------+----------------+------------------+ 1 row in set (0.03 sec)

由运行结果可以看到,两个函数的作用相同,返回了相同的系统当前日期,“CURDATE()+0”将当前日期值转换为数值型的。

MySQL中 NOW() 和 SYSDATE()

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

【实例2】使用日期时间函数 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() 取的是语句执行过程中动态的实时时间。

【实例3】先查询了 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() 函数则是动态获取的实时时间。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号