MySQL中日期格式化是非常常見的操作,可以通過各種方式來控制輸出的日期格式。本文將從多個方面對MySQL中日期格式化做出詳細的闡述。
一、日期格式化基礎
在MySQL中,日期格式化是通過 DATE_FORMAT 函數來實現的。具體用法如下:
SELECT DATE_FORMAT(date, format)
FROM table_name;
其中 date 是要格式化的日期,format 是日期格式。下面是幾種常見的日期格式:
- %Y:四位數的年份
- %y:兩位數的年份
- %m:月份,01-12
- %c:月份,1-12
- %d:月中的天數,01-31
- %e:月中的天數,1-31
- %H:小時,00-23
- %h:小時,01-12
- %i:分鐘,00-59
- %s:秒鐘,00-59
- %%:百分號
例如,以下查詢將返回類似於“2022-08-15”的日期格式:
SELECT DATE_FORMAT('2022-08-15', '%Y-%m-%d');
二、日期格式化高級技巧
1. 將日期格式化成中文
將日期格式化成中文是非常常見的需求。可以使用 MySQL 中的 FORMAT 函數來實現:
SELECT CONCAT(YEAR(date),'年',MONTH(date),'月',DAY(date),'日') AS cn_date
FROM table_name;
2. 獲取當前時間
獲取當前時間可以使用 MySQL 自帶的函數 NOW(),以及 CURRENT_TIMESTAMP 和 SYSDATE 等函數。
不同的日期格式可以通過 DATE_FORMAT 函數來實現,例如:
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
3. 將日期轉換為時間戳
時間戳是表示日期和時間的數字,通常是從1970年1月1日 00:00:00 UTC開始經過的秒數。將 DATE 類型的日期轉換為時間戳可以使用 UNIX_TIMESTAMP 函數,例如:
SELECT UNIX_TIMESTAMP(date) AS timestamp
FROM table_name;
4. 將日期格式化為日曆
將日期格式化為日曆是一種非常有用的方式來顯示日期。可以使用 MySQL 中的 GROUP_CONCAT 函數和 CONCAT 函數以及 IF 函數來實現:
SELECT DATE_FORMAT(date, '%Y-%m-%d') AS date,
GROUP_CONCAT(IF(DAYOFMONTH(date) = sub, CONCAT('', DAYOFMONTH(date), ''), DAYOFMONTH(date)))
FROM table_name, (SELECT @i:=5) vars, (SELECT @sub:=DAYOFMONTH(NOW())) vars2
WHERE MONTH(date) = MONTH(NOW())
GROUP BY WEEK(date)
ORDER BY date;
5. 計算日期差
計算日期差可以使用 MySQL 中的 DATEDIFF 函數,例如:
SELECT DATEDIFF('2022-08-15', '2022-08-01') AS diff;
上述查詢將返回日期差為 14 天。
三、日期格式化實例
1. 將日期格式化為美國日期格式
以下代碼將查詢結果格式化為美國日期格式:
SELECT DATE_FORMAT(date, '%m/%d/%Y') AS american_date
FROM table_name;
2. 將日期格式化為英國日期格式
以下代碼將查詢結果格式化為英國日期格式:
SELECT DATE_FORMAT(date, '%d/%m/%Y') AS english_date
FROM table_name;
3. 將時間格式化為 24 小時制
以下代碼將查詢結果格式化為 24 小時制時間格式:
SELECT DATE_FORMAT(date, '%H:%i:%s') AS time_24
FROM table_name;
4. 將時間格式化為 12 小時制
以下代碼將查詢結果格式化為 12 小時制時間格式:
SELECT DATE_FORMAT(date, '%h:%i:%s %p') AS time_12
FROM table_name;
5. 在查詢結果中添加星期幾
以下代碼將查詢結果中添加星期幾:
SELECT CONCAT(DATE_FORMAT(date, '%Y-%m-%d'), ' ', DAYNAME(date)) AS date_with_day
FROM table_name;
四、總結
本文對 MySQL 中日期格式化進行了詳細的闡述。通過 DATE_FORMAT 函數和各種日期格式,可以非常方便地將日期格式化為各種形式,從而滿足不同的需求。同時,本文還介紹了一些常見的日期格式化技巧,希望對讀者有所幫助。
原創文章,作者:SWBDO,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/371075.html