mysql中如何獲取當(dāng)前日期?日期函數(shù)有哪些?

mysql中,可以使用CURDATE()和CURRENT_DATE()函數(shù)來獲取當(dāng)前日期,可以將當(dāng)前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式的值返回,具體格式根據(jù)函數(shù)用在字符串或數(shù)字語境中而定。

mysql中如何獲取當(dāng)前日期?日期函數(shù)有哪些?

(推薦教程:mysql視頻教程

MySQL 中 CURDATE() 和 CURRENT_DATE()?

MySQL 中 CURDATE() 和 CURRENT_DATE() 函數(shù)的作用相同,將當(dāng)前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式的值返回,具體格式根據(jù)函數(shù)用在字符串或數(shù)字語境中而定。

【實(shí)例1】使用日期函數(shù) CURDATE 和 CURRENT_DATE 獲取系統(tǒng)當(dāng)前日期,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。

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)

由運(yùn)行結(jié)果可以看到,兩個(gè)函數(shù)的作用相同,返回了相同的系統(tǒng)當(dāng)前日期,“CURDATE()+0”將當(dāng)前日期值轉(zhuǎn)換為數(shù)值型的。

MySQL中 NOW() 和 SYSDATE()?

MySQL中 NOW() 和 SYSDATE() 函數(shù)的作用相同,都是返回當(dāng)前日期和時(shí)間值,格式為“YYYY-MM-DD HH:MM:SS”或“YYYYMMDDHHMMSS”,具體格式根據(jù)函數(shù)用在字符串或數(shù)字語境中而定。

【實(shí)例2】使用日期時(shí)間函數(shù) NOW 和 SYSDATE 獲取當(dāng)前系統(tǒng)的日期和時(shí)間,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。

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)

由運(yùn)行結(jié)果可以看到,NOW 函數(shù)和 SYSDATE 函數(shù)返回的結(jié)果是相同的。

雖然在 MySQL 中 NOW() 和 SYSDATE() 都表示當(dāng)前時(shí)間,但是 NOW() 取的是語句開始執(zhí)行的時(shí)間,而 SYSDATE() 取的是語句執(zhí)行過程中動(dòng)態(tài)的實(shí)時(shí)時(shí)間。

【實(shí)例3】先查詢了 NOW() 和 SYSDATE(),然后 sleep 了 3 秒,再查詢 NOW() 和 SYSDATE(),結(jié)果如下:

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)

由運(yùn)行結(jié)果可以看出,NOW() 函數(shù)始終獲取的是 SQL 語句開始執(zhí)行的時(shí)間,而 SYSDATE() 函數(shù)則是動(dòng)態(tài)獲取的實(shí)時(shí)時(shí)間。

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享