MySQL中的時間轉換指的是將不同格式的時間資料互相轉換的過程,例如將日期轉為時間戳,將時間戳記轉為日期等。正確地進行時間轉換可以讓我們在資料庫中更方便地管理和使用時間資料。以下我們將從不同的時間格式入手,介紹MySQL中常用的時間轉換方法。
在MySQL中,可以使用UNIX_TIMESTAMP函數將日期轉為時間戳記。 UNIX_TIMESTAMP函數的語法如下:
UNIX_TIMESTAMP(date)
其中,date是一個合法的日期表達式,可以是日期型的列名、字串型別的日期、或日期型的變數。以下是一些範例:
SELECT UNIX_TIMESTAMP('2022-07-01 00:00:00'); SELECT UNIX_TIMESTAMP(NOW()); SELECT UNIX_TIMESTAMP(date_column) FROM table_name;
上述範例中,第一個SELECT語句將日期字串'2022-07-01 00:00:00'轉為時間戳記;第二個SELECT語句將目前時間轉為時間戳記;第三個SELECT語句將表格中的日期欄位轉為時間戳記。要注意的是,UNIX_TIMESTAMP函數傳回的是秒數時間戳,如果需要毫秒時間戳,則可以使用UNIX_TIMESTAMP*1000函數。
同樣地,在MySQL中,可以使用FROM_UNIXTIME函數將時間戳記為日期。 FROM_UNIXTIME函數的語法如下:
FROM_UNIXTIME(unix_timestamp, format)
其中,unix_timestamp是要轉換的時間戳,可以是一個數字,也可以是一個日期型的列名;format是日期的格式化字串。例如,要將時間戳轉為'yyyy-mm-dd hh:mm:ss'格式的日期,可以使用以下語句:
SELECT FROM_UNIXTIME(1625041238, '%Y-%m-%d %H:%i:%s');
這個語句將會傳回2021-06-30 11:53: 58,並且格式化字串中的各個佔位符也可以自由調整。以下是一些常用的格式化字元:
格式化字元 | 意思 |
---|---|
%Y | 四位數的年份(例如:2022) |
#%m | 兩位數的月份(例如:01 或12) |
%d | #兩位數的日期(例如:01 或31) |
%H | 兩位數的小時(例如:00 或23) |
%i | 兩位數的分鐘(例如:00 或59) |
%s | 兩位數的秒數(例如:00 或59) |
%f | #微秒(000000 ~ 999999) |
%W | 星期(例如:Sunday 到Saturday) |
%a | 縮寫的星期名稱(例如:Sun 到Sat) |
%b | 縮寫的月份名稱(例如:Jan 到Dec) |
#%p | AM 或PM(大寫字母) |
STR_TO_DATE(str, format)
SELECT STR_TO_DATE('2022-07-01', '%Y-%m-%d');
DATE_FORMAT(date, format)
SELECT DATE_FORMAT('2022-07-01', '%Y-%m-%d');
以上是mysql 時間 轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!