一、mysql中字符串转换成日期
下面将讲述如何在MYSQL中把一个字符串转换成日期:
1、无需转换的:
SELECT * FROM tairlist_day WHERE rq>'-07-31' AND rq
2、使用:DATE_FORMAT.
mysql中,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)
%pAM或PM
%w一个星期中的天数(0=Sunday……6=Saturday)
%U星期(0……52),这里星期天是星期的第一天
%u星期(0……52),这里星期一是星期的第一天
%%一个文字“%”。
举例:
把字符串转为日期格式:SELECTDATE_FORMAT('-09-:30:45','%Y-%m-%d%H:%i:%S');
把日期转为字符串格式:SELECTDATE_FORMAT(NOW(),'%Y-%m-%d%H:%i:%S');
下面的脚本使用 DATE_FORMAT() 函数来显示不同的格式。我们使用 NOW() 来获得当前的日期/时间:DATE_FORMAT(NOW(),'%b%d%Y%h:%i%p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d%b%y')
DATE_FORMAT(NOW(),'%d%b%Y%T:%f')
结果类似:Dec2911:45PM
12-29-
29Dec08
29Dec16:25:46.635
背景:rq字段信息为:0901SELECT*FROMtairlist_dayWHEREDATE_FORMAT(rq,'%Y-%m-%d')>'-08-01'ANDDATE_FORMAT(rq,'%Y-%m-%d')
其中第1要在一个“宽松”的语法是被允许的:以任何标点符号作为日期部分和时间部分中的定界符,如:
一个 YYYYMMDD 或 YYMMDD 格式的数字,只要数字看起来像是一个日期。例如,19830905 和 830905 被解释成为 '1983-09-05 '。
二、mysql中日期转换成字符串mysql>selectdate_format(now(),'%Y');
+-------------------------+
|date_format(now(),'%Y')|
+-------------------------+
||
+-------------------------+
1rowinset(0.00sec)
%Y:年
%c:月
%d:日
%H:小时
%i:分钟
%s:秒mysql>selectdate_format(now(),'%Y-%c-%d%h:%i:%s');
+----------------------------------------+
|date_format(now(),'%Y-%c-%d%h:%i:%s')|
+----------------------------------------+
|-8-0706:59:40|
+----------------------------------------+
1rowinset(0.00sec)