mysql:将varchar特定格式的日期转换为DATETIME

时间:2019-09-16 18:21:50

标签: mysql

我将这种格式存储在mysql的varchar中:月年

我以加泰罗尼亚语,西班牙语或英语文化存储它。

例如:

ca-ES => MAI 2019
es-ES => MAY 2019
en-GB => MAY 2019

或:

ca-ES => GEN 2019
es-ES => ENE 2019
en-GB => JAN 2019

我需要转换为'1/5/2019 00:00:00'(第一种情况)或'1/1/2019 00:00'(第二种情况)

如何在MySql中将其转换为DateTime?一天并不重要,时间也不重要。

我测试了下一个功能:

select STR_TO_DATE('MAY 2019', '%W %D %M %Y') shippeddate;

它返回null。

enter image description here

1 个答案:

答案 0 :(得分:-1)

单独的STR_TO_DATE对您不起作用。您首先需要使用它将其转换为所需的日期格式,然后使用DATE_FORMAT函数来获得正确的结果-

select date_format(str_to_date('01 May 2019', '%d %b %Y'), '%d/%m/%y') shippeddate;

db_fiddle