MySQL 格式化日期時間 DATE_FORMAT()

MySQL 可以使用 DATE_FORMAT() 函數來顯示不同格式的日期時間。

DATE_FORMAT() 語法 (Syntax)

DATE_FORMAT(date, format)

DATE_FORMAT() 會返回一個字串,你可以指定不同的 format 來顯示不同輸出格式的 date。

在 format 中你可以使用的格式有:

格式顯示
%a縮寫的星期幾 Sun..Sat
%b縮寫的月份 Jan..Dec
%c月份 0..12
%D一個月的第幾天,英文前綴表示 0th, 1st, 2nd, 3rd, …
%d一個月的第幾天,數字 00..31
%e一個月的第幾天,數字 0..31
%f毫秒 000000..999999
%H小時 00..23
%h小時 01..12
%I小時 01..12
%i分鐘 00..59
%j一年中的第幾天 001..366
%k小時 0..23
%l小時 1..12
%M月份名稱 January..December
%m月份 00..12
%pAM 或 PM
%r十二小時制的時間 hh:mm:ss 後面接 AM 或 PM
%S秒數 00..59
%s秒數 00..59
%T二十四小時制的時間 hh:mm:ss
%U一年中的第幾週,用星期日當作是一週的第一天 00..53
%u一年中的第幾週,用星期一當作是一週的第一天 00..53
%V一年中的第幾週,用星期日當作是一週的第一天 01..53,與 %X 一起使用
%v一年中的第幾週,用星期一當作是一週的第一天 01..53,與 %x 一起使用
%W星期幾名稱 Sunday..Saturday
%w一週的第幾天,0=星期日..6=星期六
%X年,四位數整數,用星期日當作是一週的第一天,與 %V 一起使用
%x年,四位數整數,用星期一當作是一週的第一天,與 %v 一起使用
%Y年,四位數整數
%y年,兩位數整數
%%跳脫符號,表示百分比 %

DATE_FORMAT() 用法 (Example)

mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
'Sunday October 2009'

mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H:%i:%s');
'22:23:00'

mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00', '%D %y %a %d %m %b %j');
'4th 00 Thu 04 10 Oct 277'

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H %k %I %r %T %S %w');
'22 22 10 10:23:00 PM 22:23:00 00 6'

mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
'1998 52'

mysql> SELECT DATE_FORMAT('2006-06-00', '%d');
'00'

更多 MySQL 相關的日期時間函數在這邊
更多 SQL Server 相關的日期時間函數在這邊