DATE_FORMAT() 由指定的格式回傳日期字串

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)
%p 上午(AM)或下午( PM)
%r 時間 , 12小時制 (小時hh:分鐘mm:秒數ss 後加 AM或PM)
%S 秒 (00..59)
%s 秒 (00..59)
%T 時間 , 24小時制 (小時hh:分鐘mm:秒數ss)
%U 周 (00..53), 其中週日為每週的第一天
%u 周 (00..53), 其中週一為每週的第一天
%V 周 (01..53), 其中週日為每週的第一天 ; 和 %X同時使用
%v 周 (01..53), 其中週一為每週的第一天 ; 和 %x同時使用
%W 工作日名稱 (週日..週六)
%w 一周中的每日 (0=週日..6=週六)
%X 該周的年份,其中週日為每週的第一天, 數字形式,4位數;和%V同時使用
%x 該周的年份,其中週一為每週的第一天, 數字形式,4位數;和%v同時使用
%Y 年份, 數字形式,4位數
%y 年份, 數字形式 (2位數)
%% 『%』文字字元

月份和日期說明符號的範圍從零開始,原因是 MySQL允許存儲諸如 '2004-00-00'的不完全日期。
從MySQL 5.1.12版以後,支援日期名稱的語言設定,由系統變數lc_time_names system控制。
將lc_time_names設定為
  • zh_CN 回傳簡體中文格式
  • h_HK 回傳香港正體格式
  • zh_TW 回傳繁體中文格式

從MySQL 5.1.15版以後,DATE_FORMAT()回傳的字串會使用系統變數character_set_connection所指定的字元集,所以將會回傳多字節字元。 MySQL 5.1.15版之前,回傳的是binary字串。
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'

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

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 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'

沒有留言: