2

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

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

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

返回空值。

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

4

3 回答 3

2

试试这个:

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

输出:

2011-11-26
于 2013-01-19T19:34:13.943 回答
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')
于 2013-01-19T19:12:40.600 回答
1

STR_TO_DATE可以与这种格式一起使用'%d-%M-%Y',它将匹配您当前日期字符串的格式。否则它将返回null。还要检查日期格式

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 |
于 2013-01-19T19:29:52.657 回答