可能很简单,但我在这件事上花了好几个小时。我有一个名为"Publish_Date“的列,它是一个varchar,但是我的日期显示如下: 17.01.11 (year.day.month),我想将它转换为日期(此时,任何日期格式都可以)。
每次尝试使用“转换”或“强制转换”时,都会出现语法错误,或者数据不会更改,或者列中的所有数据都会更改为"null“值。如果你能帮我,我会很感激的。
发布于 2022-09-21 05:27:11
假设您的数据都大于2000,那么您可以添加一年中缺少的部分,然后进行转换。
SELECT CAST(CONCAT('20', Publish_Date) AS DATETIME);发布于 2022-09-21 05:31:31
您可以将STR_TO_DATE与格式%y.%m.%d一起使用,因为这是存储日期值的方式。
select
str_to_date(birth_date, '%y.%m.%d')
from
mytable下面是我为本例创建的SQL Fiddle
https://stackoverflow.com/questions/73795661
复制相似问题