1. 程式人生 > >MYSQL中日期與字串間的相互轉換

MYSQL中日期與字串間的相互轉換

一、字串轉日期

下面將講述如何在MySQL中把一個字串轉換成日期:

背景:rq欄位資訊為:20100901

1、無需轉換的:

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

2、使用:DATE_FORMAT

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 '。 

建議使用第2種

二、日期轉字串

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)