您的位置:首页 > 数据库 > MySQL

Mysql:函数之三: date and time functions:重要的格式化函数

2009-06-18 16:15 591 查看
DATE_FORMAT(
date
,[code]format
_str)[/code]
Formats the 
date
value according tothe
format
string.The following specifiers may be used in the
format
string. The “
%
” character is required before format specifiercharacters.
SpecifierDescription
%a
Abbreviated weekday name (
Sun
..
Sat
)
%b
Abbreviated month name (
Jan
..
Dec
)
%c
Month, numeric (
0
..
12
)
%D
Day of the month with English suffix (
0th
,
1st
,
2nd
,
3rd
, …)
%d
Day of the month, numeric (
00
..
31
)
%e
Day of the month, numeric (
0
..
31
)
%f
Microseconds (
000000
..
999999
)
%H
Hour (
00
..
23
)
%h
Hour (
01
..
12
)
%I
Hour (
01
..
12
)
%i
Minutes, numeric (
00
..
59
)
%j
Day of year (
001
..
366
)
%k
Hour (
0
..
23
)
%l
Hour (
1
..
12
)
%M
Month name (
January
..
December
)
%m
Month, numeric (
00
..
12
)
%p
AM
or
PM
%r
Time, 12-hour (
hh:mm:ss
followed by
AM
or
PM
)
%S
Seconds (
00
..
59
)
%s
Seconds (
00
..
59
)
%T
Time, 24-hour (
hh:mm:ss
)
%U
Week (
00
..
53
), whereSunday is the first day of the week
%u
Week (
00
..
53
), whereMonday is the first day of the week
%V
Week (
01
..
53
), whereSunday is the first day of the week; used with
%X
%v
Week (
01
..
53
), whereMonday is the first day of the week; used with
%x
%W
Weekday name (
Sunday
..
Saturday
)
%w
Day of the week (
0
=Sunday..
6
=Saturday)
%X
Year for the week where Sunday is the first day of the week, numeric, fourdigits; used with
%V
%x
Year for the week, where Monday is the first day of the week, numeric, fourdigits; used with
%v
%Y
Year, numeric, four digits
%y
Year, numeric (two digits)
%%
A literal “
%
”character
%
x
[code]x, for any “
x
” not listedabove
Ranges for the month and day specifiers begin with zero due to the fact thatMySQL allows the storing of incomplete dates such as
'2014-00-00'
.As of MySQL 5.1.12, the language used for day and month names andabbreviations is controlled by the value of the
lc_time_names
system variable (Section 9.8, “MySQLServer Locale Support”).As of MySQL 5.1.15,
DATE_FORMAT()
returns a string with a character set andcollation given by
character_set_connection
and
collation_connection
so that it can return month andweekday names containing non-ASCII characters. Before 5.1.15, the return valueis a binary string.
mysql> [code]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'[/code]
GET_FORMAT({DATE|TIME|DATETIME},
{'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Returns a format string. This function is useful in combination with the
DATE_FORMAT()
and the
STR_TO_DATE()
functions.The possible values for the first and second arguments result in severalpossible format strings (for the specifiers used, see the table in the
DATE_FORMAT()
function description). ISO format refersto ISO 9075, not ISO 8601.
Function CallResult
GET_FORMAT(DATE,'USA')
'%m.%d.%Y'
GET_FORMAT(DATE,'JIS')
'%Y-%m-%d'
GET_FORMAT(DATE,'ISO')
'%Y-%m-%d'
GET_FORMAT(DATE,'EUR')
'%d.%m.%Y'
GET_FORMAT(DATE,'INTERNAL')
'%Y%m%d'
GET_FORMAT(DATETIME,'USA')
'%Y-%m-%d %H.%i.%s'
GET_FORMAT(DATETIME,'JIS')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'ISO')
'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'EUR')
'%Y-%m-%d %H.%i.%s'
GET_FORMAT(DATETIME,'INTERNAL')
'%Y%m%d%H%i%s'
GET_FORMAT(TIME,'USA')
'%h:%i:%s %p'
GET_FORMAT(TIME,'JIS')
'%H:%i:%s'
GET_FORMAT(TIME,'ISO')
'%H:%i:%s'
GET_FORMAT(TIME,'EUR')
'%H.%i.%s'
GET_FORMAT(TIME,'INTERNAL')
'%H%i%s'
TIMESTAMP
can alsobe used as the first argument to
GET_FORMAT()
, in which case the function returns thesame values as for
DATETIME
.mysql>
SELECT DATE_FORMAT('2003-10-03',GET_FORMAT(DATE,'EUR'));
-> '03.10.2003'mysql>
SELECT STR_TO_DATE('10.31.2003',GET_FORMAT(DATE,'USA'));
-> '2003-10-31'

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: