MySql字符到日期格式转换返回null

时间:2013-01-19 19:08:57

标签: mysql sql date select

我有一个char字段,其日期为 '26 -Nov-2011' 我希望这个日期以 YYYY-MM-DD 格式打印。

我使用了以下日期转换,这是不允许我这样做的。

select date_format('26-Nov-2011','%d-%b-%y')
  

返回Null。

我知道date_format函数可以接受YYYY-DD-MM格式的日期但是 请让我知道如何将字符转换为所需的日期格式

3 个答案:

答案 0 :(得分:2)

试试这个:

SELECT STR_TO_DATE('26-Nov-2011', '%d-%b-%Y') dte;

输出:

2011-11-26

答案 1 :(得分:1)

You can use STR_TO_DATE() to convert your strings to MySQL date values and ORDER BY the result

STR_TO_DATE(datestring, '%d/%m/%Y')

答案 2 :(得分:1)

STR_TO_DATE可以使用此格式'%d-%M-%Y',它将与您当前日期字符串的格式相匹配。否则它将返回null。也请查看date formats

select str_to_Date('26-Nov-2011','%d-%M-%Y')
from table1
;

输出:

| STR_TO_DATE('26-NOV-2011','%D-%M-%Y') |
-----------------------------------------
|       November, 26 2011 00:00:00+0000 |