mysql时间函数:Mysql日期和时间函数不求人

="t18">

DATE_FORMAT(date,format)
根据format串格式化date值下列修饰符可以被用在format串中: %M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀月份日期(1st, 2nd, 3rd, 等等
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写星期名字(Sun……Sat)
%d 月份中天数, 数字(00……31)
%e 月份中天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写月份名字(Jan……Dec)
%j 年中天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 个星期中天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期
%u 星期(0……52), 这里星期是星期
%% 个文字“%”

所有其他不做解释被复制到结果中

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'
MySQL3.23中在格式修饰符前需要%在MySQL更早版本中%是可选

TIME_FORMAT(time,format)
这象上面DATE_FORMAT样使用但是format串只能包含处理小时、分钟和秒那些格式修饰符

其他修饰符产生个NULL值或0
CURDATE
 
CURRENT_DATE
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值取决于是在串还是数字上下文被使用
mysql> select CURDATE;
-> '1997-12-15'
mysql> select CURDATE + 0;
-> 19971215

CURTIME
 
CURRENT_TIME
以'HH:MM:SS'或HHMMSS格式返回当前时间值取决于是在串还是在数字上下文被使用
mysql> select CURTIME;
-> '23:50:26'
mysql> select CURTIME + 0;
-> 235026

NOW
 
SYSDATE
 
CURRENT_TIMESTAMP
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前日期和时间取决于是在串还是在数字
上下文被使用
mysql> select NOW;
-> '1997-12-15 23:50:26'
mysql> select NOW + 0;
-> 19971215235026

UNIX_TIMESTAMP
 
UNIX_TIMESTAMP(date)
如果没有参数返回个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始秒数)如果UNIX_TIMESTAMP个date参数被它返回从'1970-01-01 00:00:00' GMT开始秒数值date可以是个DATE串、个DATETIME串、个TIMESTAMP或以YYMMDD或YYYYMMDD格式本地时间个数字
mysql> select UNIX_TIMESTAMP;
-> 882226357
mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580

当UNIX_TIMESTAMP被用于个TIMESTAMP列将直接接受值没有隐含-to-unix-timestamp”变换 www.knowsky.com

FROM_UNIXTIME(unix_timestamp)
以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示取决于是在串还是或数字上下文中被使用
mysql> select FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
mysql> select FROM_UNIXTIME(875996580) + 0;
-> 19971004222300

FROM_UNIXTIME(unix_timestamp,format)
返回表示 Unix 时间标记根据format串格式化format可以包含与DATE_FORMAT列出条目同样修饰符
mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP,
'%Y %D %M %h:%i:%s %x');
-> '1997 23rd December 03:43:30 x'

SEC_TO_TIME(seconds)
返回seconds参数变换成小时、分钟和秒值以'HH:MM:SS'或HHMMSS格式化取决于是在串还是在数字上下文中被使用
mysql> select SEC_TO_TIME(2378);
-> '00:39:38'
mysql> select SEC_TO_TIME(2378) + 0;
-> 3938

TIME_TO_SEC(time)
返回time参数转换成秒
mysql> select TIME_TO_SEC('22:23:00');
-> 80580
mysql> select TIME_TO_SEC('00:39:38');
-> 2378

Tags:  mysql字符串函数 mysql函数 mysql日期函数 mysql时间函数

延伸阅读

最新评论

发表评论