MySQL獲取當前時間


MySQL中有多種獲取當前時間的方法,這些方法都可以作為查詢條件使用,還可以作為值插入到數據庫。本文介紹的是查詢的用法,插入雷同。

1.獲取當前完整時間

下面的查詢都省略了from dual關鍵字,可根據需要添加。

1.1 now()函數

select now();

查詢結果:

2021-06-02 11:09:28 

1.2 sysdate()函數

select sysdate();

查詢結果:

2021-06-02 11:09:28 

1.3 current_timestamp或current_timestamp()

current_timestamp和current_timestamp()函數的效果是一樣的,只不過一個是關鍵字,一個是函數。它們的效果和now()函數也是一樣的!

select current_timestamp;
select current_timestamp();

查詢結果:

2021-06-02 11:09:28 

2.獲取當前日期

獲取當前日期的方式有多種,這里只介紹常用的幾種:

2.1使用CURDATE()獲取(推薦)

select CURDATE();

查詢結果:

2021-06-02

2.2使用CURRENT_DATE獲取

select current_date;

查詢結果:

2021-06-02

2.3使用date()格式化

select date(now());

查詢結果:

2021-06-02

3.獲取當前短時間

獲取當前短時間的方式有多種,這里只介紹常用的幾種:

3.1使用CURTIME()獲取(推薦)

select CURTIME();

查詢結果:

11:17:19

3.2使用CURRENT_TIME獲取

select CURRENT_TIME;

查詢結果:

11:17:19

4.函數now()和sysdate()的區別

雖然兩者都可以獲取當前的時間,但它們獲取的機制是不同的:

now()取的是語句開始執行的時間

sysdate()取的是動態的實時時間

這么說不明白?先看下面的示例: 

說明:先查詢NOW()和SYSDATE(),然后sleep3秒,再查詢NOW()和SYSDATE()

SELECT now(),sysdate(),SLEEP(3),now(),sysdate();

執行結果截圖:

 

 

分析結果可得:now()值不發生改變,sysdate()時間在sleep3秒后發生改變。也就是說now()獲取的是sql開始執行的時間,盡管中間出現了其他的操作,都不會影響其值。而sysdate()會影響。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM