溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL學習之日期函數怎么使用

發布時間:2022-08-16 09:49:05 來源:億速云 閱讀:259 作者:iii 欄目:MySQL數據庫

MySQL學習之日期函數怎么使用

在MySQL中,日期和時間是常見的數據類型,處理日期和時間數據是數據庫操作中的重要部分。MySQL提供了豐富的日期和時間函數,用于處理日期和時間的計算、格式化、轉換等操作。本文將詳細介紹MySQL中常用的日期函數及其使用方法。

1. 日期和時間數據類型

在MySQL中,日期和時間數據類型主要包括以下幾種:

  • DATE:日期,格式為YYYY-MM-DD,例如2023-10-05。
  • TIME:時間,格式為HH:MM:SS,例如14:30:00。
  • DATETIME:日期和時間,格式為YYYY-MM-DD HH:MM:SS,例如2023-10-05 14:30:00。
  • TIMESTAMP:時間戳,格式為YYYY-MM-DD HH:MM:SS,與DATETIME類似,但范圍較小,且與時區相關。
  • YEAR:年份,格式為YYYY,例如2023。

2. 獲取當前日期和時間

2.1 NOW()

NOW()函數返回當前的日期和時間,格式為YYYY-MM-DD HH:MM:SS。

SELECT NOW();

輸出結果:

2023-10-05 14:30:00

2.2 CURDATE()

CURDATE()函數返回當前日期,格式為YYYY-MM-DD。

SELECT CURDATE();

輸出結果:

2023-10-05

2.3 CURTIME()

CURTIME()函數返回當前時間,格式為HH:MM:SS。

SELECT CURTIME();

輸出結果:

14:30:00

3. 日期和時間的提取

3.1 YEAR()

YEAR()函數從日期或日期時間中提取年份。

SELECT YEAR('2023-10-05');

輸出結果:

2023

3.2 MONTH()

MONTH()函數從日期或日期時間中提取月份。

SELECT MONTH('2023-10-05');

輸出結果:

10

3.3 DAY()

DAY()函數從日期或日期時間中提取日。

SELECT DAY('2023-10-05');

輸出結果:

5

3.4 HOUR()

HOUR()函數從時間或日期時間中提取小時。

SELECT HOUR('14:30:00');

輸出結果:

14

3.5 MINUTE()

MINUTE()函數從時間或日期時間中提取分鐘。

SELECT MINUTE('14:30:00');

輸出結果:

30

3.6 SECOND()

SECOND()函數從時間或日期時間中提取秒。

SELECT SECOND('14:30:00');

輸出結果:

0

4. 日期和時間的計算

4.1 DATE_ADD()

DATE_ADD()函數用于在日期或日期時間上添加指定的時間間隔。

SELECT DATE_ADD('2023-10-05', INTERVAL 1 DAY);

輸出結果:

2023-10-06

4.2 DATE_SUB()

DATE_SUB()函數用于在日期或日期時間上減去指定的時間間隔。

SELECT DATE_SUB('2023-10-05', INTERVAL 1 MONTH);

輸出結果:

2023-09-05

4.3 DATEDIFF()

DATEDIFF()函數用于計算兩個日期之間的天數差。

SELECT DATEDIFF('2023-10-05', '2023-09-05');

輸出結果:

30

4.4 TIMEDIFF()

TIMEDIFF()函數用于計算兩個時間之間的時間差。

SELECT TIMEDIFF('14:30:00', '12:00:00');

輸出結果:

02:30:00

5. 日期和時間的格式化

5.1 DATE_FORMAT()

DATE_FORMAT()函數用于將日期或日期時間格式化為指定的字符串格式。

SELECT DATE_FORMAT('2023-10-05 14:30:00', '%Y年%m月%d日 %H時%i分%s秒');

輸出結果:

2023年10月05日 14時30分00秒

5.2 STR_TO_DATE()

STR_TO_DATE()函數用于將字符串轉換為日期或日期時間。

SELECT STR_TO_DATE('2023年10月05日', '%Y年%m月%d日');

輸出結果:

2023-10-05

6. 日期和時間的比較

6.1 DATE()

DATE()函數用于提取日期或日期時間中的日期部分。

SELECT DATE('2023-10-05 14:30:00');

輸出結果:

2023-10-05

6.2 TIME()

TIME()函數用于提取日期或日期時間中的時間部分。

SELECT TIME('2023-10-05 14:30:00');

輸出結果:

14:30:00

6.3 TIMESTAMP()

TIMESTAMP()函數用于將日期或日期時間轉換為時間戳。

SELECT TIMESTAMP('2023-10-05 14:30:00');

輸出結果:

2023-10-05 14:30:00

7. 其他常用日期函數

7.1 DAYOFWEEK()

DAYOFWEEK()函數返回日期對應的星期幾,1表示星期日,2表示星期一,依此類推。

SELECT DAYOFWEEK('2023-10-05');

輸出結果:

5

7.2 DAYOFYEAR()

DAYOFYEAR()函數返回日期在一年中的第幾天。

SELECT DAYOFYEAR('2023-10-05');

輸出結果:

278

7.3 WEEK()

WEEK()函數返回日期在一年中的第幾周。

SELECT WEEK('2023-10-05');

輸出結果:

40

7.4 LAST_DAY()

LAST_DAY()函數返回日期所在月份的最后一天。

SELECT LAST_DAY('2023-10-05');

輸出結果:

2023-10-31

8. 總結

MySQL提供了豐富的日期和時間函數,能夠滿足各種日期和時間處理的需求。通過掌握這些函數的使用方法,可以更加高效地處理數據庫中的日期和時間數據。本文介紹了常用的日期函數及其使用方法,包括獲取當前日期和時間、日期和時間的提取、日期和時間的計算、日期和時間的格式化、日期和時間的比較以及其他常用日期函數。希望本文能夠幫助讀者更好地理解和應用MySQL中的日期函數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女