- 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> 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'
- DAY(date)
DAY() 和DAYOFMONTH()的意义相同。
- DAYNAME(date)
返回date 对应的工作日名称。
mysql> SELECT DAYNAME('1998-02-05');
-> '周四'
- DAYOFMONTH(date)
返回date 对应的该月日期,范围是从 1到31。
mysql> SELECT DAYOFMONTH('1998-02-03');
-> 3
- DAYOFWEEK(date)
返回date (1 = 周日, 2 = 周一, ..., 7 = 周六)对应的工作日索引。这些索引值符合 ODBC标准。
mysql> SELECT DAYOFWEEK('1998-02-03');
-> 3
- DAYOFYEAR(date)
返回date 对应的一年中的天数,范围是从 1到366。
mysql> SELECT DAYOFYEAR('1998-02-03');
-> 34
- EXTRACT(type FROM date)
EXTRACT()函数所使用的时间间隔类型说明符同 DATE_ADD()或DATE_SUB()的相同,但它从日期中提取其部分,而不是执行日期运算。
mysql> SELECT EXTRACT(YEAR FROM '1999-07-02');
-> 1999
mysql> SELECT EXTRACT(YEAR_MONTH FROM '1999-07-02 01:02:03');
-> 199907
mysql> SELECT EXTRACT(DAY_MINUTE FROM '1999-07-02 01:02:03');
-> 20102
mysql> SELECT EXTRACT(MICROSECOND
-> FROM '2003-01-02 10:30:00.00123');
-> 123
- FROM_DAYS(N)
给定一个天数 N, 返回一个DATE值。
mysql> SELECT FROM_DAYS(729669);
-> '1997-10-07'
使用 FROM_DAYS()处理古老日期时,务必谨慎。他不用于处理阳历出现前的日期(1582)。请参见12.6节,“MySQL使用什么日历?”。
- FROM_UNIXTIME(unix_timestamp) , FROM_UNIXTIME(unix_timestamp,format)
返回'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS 格式值的unix_timestamp参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。
若format 已经给出,则结果的格式是根据format 字符串而定。 format 可以包含同DATE_FORMAT() 函数输入项列表中相同的说明符。
mysql> SELECT FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> SELECT FROM_UNIXTIME(875996580) + 0;
-> 19971004222300
mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(),
-> '%Y %D %M %h:%i:%s %x');
-> '2003 6th August 06:22:58 2003'
(责任编辑:ken)
