自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

交行一面:MySQL 中的時間函數(shù)有哪些?該如何使用?

數(shù)據(jù)庫 MySQL
本文,我們介紹了以下 MySQL 的時間函數(shù),這些函數(shù)涵蓋了日期和時間的獲取、計算、格式化、轉(zhuǎn)換等多種操作,可以滿足不同的開發(fā)需求。

在 MySQL數(shù)據(jù)庫中,提供了一系列獲取時間的函數(shù),這些函數(shù)在我們的日常開發(fā)中經(jīng)常用到。這篇文章,我們將一一列舉這些函數(shù)以及展示如何使用它們和它們的應(yīng)用場景。

NOW()

NOW() 函數(shù)返回當前的日期和時間,格式為YYYY-MM-DD HH:MM:SS,它是日常開發(fā)中使用頻率比較高的函數(shù),用于獲取服務(wù)器的當前時間。使用語法:

SELECT NOW();
-- 輸出示例: '2024-10-30 14:30:00'

使用場景:

  • 記錄數(shù)據(jù)插入或更新的時間戳。
  • 生成日志記錄時標記時間。
  • 用于計算時間差。

CURDATE()和CURTIME()

CURDATE()返回當前日期,格式為YYYY-MM-DD。CURTIME()返回當前時間,格式為HH:MM:SS。使用語法如下:

SELECT CURDATE();
-- 輸出示例: '2024-10-30'

SELECT CURTIME();
-- 輸出示例: '14:30:00'

使用場景:

  • CURDATE() 常用于只需要日期部分的場景,如生日、紀念日。
  • CURTIME() 常用于需要時間部分的場景,如日程安排、會議時間。

UNIX_TIMESTAMP()和FROM_UNIXTIME()

UNIX_TIMESTAMP()返回從1970-01-01 00:00:00 UTC到當前時間的秒數(shù)。FROM_UNIXTIME()將 UNIX時間戳轉(zhuǎn)換為 MySQL日期時間格式。使用語法如下:

SELECT UNIX_TIMESTAMP();
-- 輸出示例: 1696524600

SELECT FROM_UNIXTIME(1696524600);
-- 輸出示例: '2024-10-30 14:30:00'

使用場景:

  • UNIX_TIMESTAMP() 用于將日期時間轉(zhuǎn)換為時間戳,以便進行時間差計算。
  • FROM_UNIXTIME() 用于將時間戳轉(zhuǎn)換為可讀的日期時間格式。

DATE_FORMAT()

DATE_FORMAT() 函數(shù)用于以指定格式返回日期/時間數(shù)據(jù)。格式化字符串可以包含日期和時間的各種部分,如年、月、日、小時、分鐘等。使用語法如下:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
-- 輸出示例: '2024-10-30 14:30:00'

SELECT DATE_FORMAT(NOW(), '%W, %M %e, %Y');
-- 輸出示例: 'Thursday, October 5, 2023'

使用場景:

  • 格式化輸出日期以符合特定的業(yè)務(wù)需求。
  • 將日期時間轉(zhuǎn)換為字符串進行顯示。

ADDDATE()和ADDTIME()

ADDDATE()用于向日期添加指定的天數(shù), ADDTIME()用于向時間添加指定的時間。使用語法如下:

SELECT ADDDATE('2024-10-30', INTERVAL 10 DAY);
-- 輸出示例: '2024-10-30'

SELECT ADDTIME('14:30:00', '02:00:00');
-- 輸出示例: '16:30:00'

使用場景:

  • ADDDATE() 用于計算未來的日期,比如到期日、未來的事件。
  • ADDTIME() 用于計算未來的時間,比如會議結(jié)束時間。

DATEDIFF()和TIMEDIFF()

DATEDIFF()用于計算兩個日期之間的天數(shù)差,TIMEDIFF() 用于計算兩個時間之間的時間差。使用語法如下:

SELECT DATEDIFF('2023-10-15', '2024-10-30');
-- 輸出示例: 10

SELECT TIMEDIFF('16:30:00', '14:30:00');
-- 輸出示例: '02:00:00'

使用場景:

  • DATEDIFF() 常用于計算兩個日期之間的間隔,比如租賃天數(shù)、項目工期。
  • TIMEDIFF() 常用于計算兩個時間點之間的時間差,比如工時計算。

YEAR(),MONTH(),DAY(),HOUR(),MINUTE(),SECOND()

這些函數(shù)用于從日期或時間中提取特定的部分,如年、月、日、小時、分鐘、秒。使用語法如下:

SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());
-- 輸出示例: 2024, 10, 30

SELECT HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());
-- 輸出示例: 14, 30, 0

使用場景:

  • 提取日期時間的特定部分以進行進一步分析或計算。
  • 用于分組查詢,如按月統(tǒng)計數(shù)據(jù)。

STR_TO_DATE()

STR_TO_DATE()函數(shù)將字符串轉(zhuǎn)換為日期,根據(jù)指定的格式解析字符串。使用語法如下:

SELECT STR_TO_DATE('05-10-2023', '%d-%m-%Y');
-- 輸出示例: '2024-10-30'

SELECT STR_TO_DATE('October 5, 2023', '%M %d, %Y');
-- 輸出示例: '2024-10-30'

使用場景:

  • 將用戶輸入的日期字符串轉(zhuǎn)換為日期格式以存儲到數(shù)據(jù)庫。
  • 解析非標準格式的日期字符串。

LAST_DAY()

LAST_DAY()函數(shù)返回給定日期的月份的最后一天。使用語法如下:

SELECT LAST_DAY('2024-10-30');
-- 輸出示例: '2024-10-30'

使用場景:

  • 計算某個月的結(jié)束日期,以便進行月末結(jié)算。
  • 生成月度報告時確定時間范圍。

EXTRACT()

EXTRACT()函數(shù)用于從日期或時間中提取特定的部分,與 YEAR(), MONTH()等函數(shù)類似,但提供了更靈活的提取選項。使用語法如下:

SELECT EXTRACT(YEAR FROM NOW()), EXTRACT(MONTH FROM NOW()), EXTRACT(DAY FROM NOW());
-- 輸出示例: 2024, 10, 30

SELECT EXTRACT(HOUR FROM NOW()), EXTRACT(MINUTE FROM NOW()), EXTRACT(SECOND FROM NOW());
-- 輸出示例: 14, 30, 0

使用場景:

  • 提取復(fù)雜日期時間中的特定部分。
  • 用于動態(tài)生成查詢條件。

總結(jié)

MySQL 提供了豐富的時間函數(shù),能夠滿足各種日期和時間處理需求。

本文,我們介紹了以下 MySQL 的時間函數(shù),這些函數(shù)涵蓋了日期和時間的獲取、計算、格式化、轉(zhuǎn)換等多種操作,可以滿足不同的開發(fā)需求??偨Y(jié)如下:

  1. NOW() - 返回當前的日期和時間。
  2. CURDATE() - 返回當前日期。
  3. CURTIME() - 返回當前時間。
  4. UNIX_TIMESTAMP() - 返回從 '1970-01-01 00:00:00' UTC 到當前時間的秒數(shù)。
  5. FROM_UNIXTIME() - 將 UNIX 時間戳轉(zhuǎn)換為 MySQL 日期時間格式。
  6. DATE_FORMAT() - 以指定格式返回日期/時間數(shù)據(jù)。
  7. ADDDATE() - 向日期添加指定的天數(shù)。
  8. ADDTIME() - 向時間添加指定的時間。
  9. DATEDIFF() - 計算兩個日期之間的天數(shù)差。
  10. TIMEDIFF() - 計算兩個時間之間的時間差。
  11. YEAR() - 從日期中提取年份。
  12. MONTH() - 從日期中提取月份。
  13. DAY() - 從日期中提取日。
  14. HOUR() - 從時間中提取小時。
  15. MINUTE() - 從時間中提取分鐘。
  16. SECOND() - 從時間中提取秒。
  17. STR_TO_DATE() - 將字符串轉(zhuǎn)換為日期。
  18. LAST_DAY() - 返回給定日期的月份的最后一天。
  19. EXTRACT() - 從日期或時間中提取特定的部分。
責任編輯:趙寧寧 來源: 猿java
相關(guān)推薦

2025-02-25 09:24:24

MySQL時間函數(shù)數(shù)據(jù)庫

2022-05-10 08:11:15

MySQL技巧結(jié)構(gòu)

2022-05-11 15:57:16

優(yōu)化SQL

2025-03-28 08:10:00

Spring自動裝配Java

2024-11-11 16:40:04

2024-11-11 17:27:45

2025-03-24 07:35:00

開發(fā)注解Spring

2022-04-02 10:52:33

Go開發(fā)面試

2021-11-09 07:34:34

Python函數(shù)代碼

2022-05-11 22:15:51

云計算云平臺

2009-07-30 14:38:36

云計算

2020-09-19 17:46:20

React Hooks開發(fā)函數(shù)

2011-12-23 09:43:15

開源開放

2011-12-22 20:53:40

Android

2024-05-15 16:41:57

進程IO文件

2024-10-30 16:12:14

2024-06-06 09:03:37

MySQL數(shù)據(jù)庫共享鎖

2025-04-15 10:00:00

Feign負載均衡微服務(wù)

2023-12-01 09:11:33

大數(shù)據(jù)數(shù)據(jù)庫

2024-10-22 15:25:20

點贊
收藏

51CTO技術(shù)棧公眾號