首頁 >資料庫 >mysql教程 >mysql中如何取得目前日期?日期函數有哪些?

mysql中如何取得目前日期?日期函數有哪些?

青灯夜游
青灯夜游原創
2020-10-13 17:23:0430589瀏覽

在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() 函數則是動態取得的即時時間。

以上是mysql中如何取得目前日期?日期函數有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn