在使用MySQL資料庫時,經常會進行日期的處理和轉換,這在資料統計、分析和展示中常用到。因此,熟練MySQL日期轉換的方法對於開發人員和資料庫管理員來說是非常重要的。
MySQL提供了豐富的日期函數和語法,可以輕鬆地將日期和時間轉換為不同的格式和字串。本文將重點介紹MySQL日期轉換的語法和範例,並提供一些常見的應用場景和技巧。
日期格式
在MySQL中,日期和時間都是以預設格式儲存的。預設日期格式為YYYY-MM-DD,時間格式為HH:MM:SS。可以使用DATE_FORMAT()函數將日期和時間轉換為各種格式的字串。
下表列出了MySQL日期格式的選項:
日期函數
MySQL提供了許多日期函數,它們可以用於日期和時間的格式轉換、查詢和計算。下面列出了一些常見的日期函數及其描述。
NOW()函數傳回目前日期和時間。它可以用於為資料表中的欄位添加時間戳記。
語法:
SELECT NOW();
結果:
2022-01-01 16:12:07
DATE_FORMAT()函數可以將日期和時間轉換為指定的格式。
語法:
SELECT DATE_FORMAT(date,format);
範例:
SELECT DATE_FORMAT('2022-01-01 16:25:30','%m/%d/%Y %h:%i:%s %p');
結果:
01/01/2022 04:25:30 PM
語法:
SELECT DAY(date);
範例:
SELECT DAY('2022-01-01 16:30:00');
結果:
01
YEAR()
SELECT YEAR(date);
範例:
SELECT YEAR('2022-01-01 16:30:00');
結果:
2022
SELECT DATE_ADD(date, INTERVAL value unit);
範例:
SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);
結果:
2022-02-01
SELECT DATEDIFF(date1,date2);
範例:
SELECT DATEDIFF('2022-01-01','2021-12-31');
結果:
1
SELECT STR_TO_DATE(str, format);
範例:
SELECT STR_TO_DATE('20220101','%Y%m%d');
結果:
2022-01-01
SELECT TIME(datetime);
計算兩個日期之間差異值
SELECT DATEDIFF('2022-01-02','2021-12-31') AS days;
2
#將時間戳轉換為日期格式
SELECT DATE_FORMAT(FROM_UNIXTIME(timestamp),'%Y-%m-%d %H:%i:%s') AS date FROM tableName;
SELECT UNIX_TIMESTAMP('2022-01-01 17:00:00') AS timestamp;
1641054000
顯示目前月份和年份
SELECT DATE_FORMAT(NOW(),'%Y年%m月') AS month;
2022年01月
#格式(Format) | 說明 |
---|---|
#%Y | 四位數字的年份 |
#%y | 兩位數字的年份 |
%m | 兩位數字的月份 |
#%c | 兩位數字的月份,不帶前導零 |
%d | 兩位數字的日子 |
%e | # 日期,沒有前導零 |
%H | 時(00-23) |
%h | #(01 -12) |
%i | 兩位數字的分鐘數 |
%s | #兩位元數字的秒數 |
%p | "AM" 或"PM" |
#星期的完整名稱 | |
星期的縮寫 | |
月份的完整名稱 | |
月份的縮寫 | |
一年中的天數(0 -366) | |
一年中的週數(從星期日算起) | |
一年中的周數(從星期一算起) | |
年份的完整數字,如果是星期日為新的一年的第一天,新的一年將從前一年的最後一個週六開始 | |
一年中的周數(從週一算起),如果這一周是下一年的一部分,那麼這一周將算是新的一年的第一周。 |
以上是mysql 日期 轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!