date字符串“2017年8月8日”到mysql的日期转换

时间:2017-08-07 11:56:41

标签: mysql

我正在使用MySQL,我有一个像08th August 2017这样的列值。

我想将其转换为8-8-2017之类的日期。我尝试过MySQL date_formate()函数,STR_TO_DATE()函数,但它返回一个空值。

怎么做这个任务?

4 个答案:

答案 0 :(得分:2)

SELECT STR_TO_DATE('08th August 2017', '%D %M %Y')对我很好

答案 1 :(得分:1)

您需要使用%D %M %Y

STR_TO_DATE格式
SELECT STR_TO_DATE(datefield,'%D %M %Y')
FROM yourtable

输入

08th August 2017

输出

2017-08-08

SQL小提琴:http://sqlfiddle.com/#!9/701e66/5/0

答案 2 :(得分:1)

首先将您的日期字符串转换为DATETIME值,然后在DATE_FORMAT()中使用该值将日期转换为您想要的任何格式

SELECT DATE_FORMAT(STR_TO_DATE('08th August 2017', '%D %M %Y'),'%d-%m-%Y') AS 
test;

答案 3 :(得分:-1)

您可以在mysql中使用此代码。

我只是举例说明如何使用。

select STR_TO_DATE("08th August 2017", "%d %m %y") from demo

其中demo是演示表。