169it -->


 
当前位置:  数据库>mysql

mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)

 
分享到:
    发布时间:2014-9-10  


    mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)一、mysql中字符串转换成日期下面将讲述如何在MYSQL中把一个字符串转换成日期:1、无需转换的:SELECT * FROM tairlist_day WHERE rq>'2010-07-31' AND rq<'2010-09-01...

mysql中字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)

一、mysql中字符串转换成日期

下面将讲述如何在MYSQL中把一个字符串转换成日期:

1、无需转换的:

 SELECT * FROM tairlist_day WHERE rq>'2010-07-31' AND rq<'2010-09-01'

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) 
%p AM或PM 
%w 一个星期中的天数(0=Sunday ……6=Saturday ) 
%U 星期(0……52), 这里星期天是星期的第一天 
%u 星期(0……52), 这里星期一是星期的第一天 
%% 一个文字“%”。

     

举例:

把字符串转为日期格式:

SELECT DATE_FORMAT('2011-09-20 08:30:45',   '%Y-%m-%d %H:%i:%S');

把日期转为字符串格式:

SELECT DATE_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')


 结果类似:

Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635


背景:rq字段信息为:20100901

SELECT * FROM tairlist_day WHERE DATE_FORMAT( rq, '%Y-%m-%d')>'2010-08-01' AND DATE_FORMAT( rq, '%Y-%m-%d')<'2010-08-03'

其中第1要在一个“宽松”的语法是被允许的:以任何标点符号作为日期部分和时间部分中的定界符,如:

一个 YYYYMMDD 或 YYMMDD 格式的数字,只要数字看起来像是一个日期。例如,19830905 和 830905 被解释成为 '1983-09-05 '。 


二、mysql中日期转换成字符串

mysql> select date_format(now(),'%Y');
+-------------------------+
| date_format(now(),'%Y') |
+-------------------------+
| 2009                    |
+-------------------------+
1 row in set (0.00 sec)


扩展:

%Y:年

%c:月

%d:日

%H:小时

%i:分钟

%s:秒

mysql> select date_format(now(),'%Y-%c-%d %h:%i:%s');
+----------------------------------------+
| date_format(now(),'%Y-%c-%d %h:%i:%s') |
+----------------------------------------+
| 2009-8-07 06:59:40                     |
+----------------------------------------+
1 row in set (0.00 sec)


本类别最新文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号


-->