mysql:将varchar特定格式日期转换为日期时间

mysql:将varchar特定格式日期转换为日期时间,mysql,Mysql,我将这种格式存储在mysql的varchar中:Month-Year 我把它储存在加泰罗尼亚、西班牙或英国文化中 例如: ca-ES => MAI 2019 es-ES => MAY 2019 en-GB => MAY 2019 或: 我需要转换为“2019年1月5日00:00:00”(第一种情况)或“2019年1月1日00:00”(第二种情况) 如何在MySql中转换为DateTime?日子不重要,时间不重要 我测试了以下功能: select STR_TO_DATE('MA

我将这种格式存储在mysql的varchar中:Month-Year

我把它储存在加泰罗尼亚、西班牙或英国文化中

例如:

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

我需要转换为“2019年1月5日00:00:00”(第一种情况)或“2019年1月1日00:00”(第二种情况)

如何在MySql中转换为DateTime?日子不重要,时间不重要

我测试了以下功能:

select STR_TO_DATE('MAY 2019', '%W %D %M %Y') shippeddate;
它正在返回null


到目前为止,单靠努力是不合适的。您首先需要使用它将其转换为所需的日期格式,然后使用date_format函数获得正确的结果-

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

.

尝试
Str\u to\u date()
函数。请参阅:它将返回您确切尝试的查询。编辑问题并将这些详细信息添加到问题中,输入和输出都完成。我根据测试结果进行了编辑:选择STR_TO_DATE('2019年5月','%W%D%M%Y')shippeddate;str_to_date我删除了%W并且%d看起来像是在英国文化中工作,但不是在加泰罗尼亚语或西班牙语中。。。返回null,如何将STR_中的区域性更改为_DATE?当我设置区域性、加泰罗尼亚语或西班牙语时,它不起作用。当我有ENE 2019(西班牙语)或GEN 2019(加泰罗尼亚语)时返回null。他用英语工作。反正STR_TO_DATE对我来说也适用于相同的区域性。当我运行时,它给我的月份名称是
set
而不是“GEN”。这就是为什么将其设置为null。DATE_格式返回VARCHAR,我需要日期字段。我做了一本字典把它翻译成英语,然后我用stru来约会。。。工作正常
select date_format(str_to_date('01 May 2019', '%d %b %Y'), '%d/%m/%y') shippeddate;