将多种格式的日期转换为新列

时间:2013-05-27 15:48:28

标签: mysql database

我有一张大表,里面有大约500万行。

表:

ID (bigint), TRANS_DATE (TEXT)

示例:

04/05/12 11:30,有些行会像2012/22/05 14:50

那样

我创建了一个新列Date,我需要设置date = STR_TO_DATE(TRANS_DATE , "????")

我应该以{{1​​}}格式添加什么来将其更改为正确的数据库日期格式?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

date = STR_TO_DATE(TRANS_DATE ,
                   (case when len(trans_date) = 14 then '%d/%m/%y %h:%i'
                         else '%y/%m/%d %h:%i'
                    end)
                   )