有没有办法在mysql中清理具有不同日期格式的列

时间:2015-12-18 09:58:15

标签: mysql sql date select str-to-date

我需要清理具有不同日期格式的表格中的列。

例如:

  

%d-%b-%y, %Y-%B-%d, %d/%m/%Y, %d%b%y, %Y-%b-%d, %Y-%m-%d, %d %b %y, %m/%d/%Y

等等

现在我需要将所有日期值转换为统一格式,如**

  

%Y-%间 - %d

**。

1 个答案:

答案 0 :(得分:2)

您必须更新表格数据。您可以使用STR_TO_DATE()函数转换为日期。

例如,

UPDATE table1 = STR_TO_DATE(column1, '%d-%b-%y') WHERE STR_TO_DATE(column1, '%d-%b-%y') IS NOT NULL;
UPDATE table1 = STR_TO_DATE(column1, '%Y-%B-%d') WHERE STR_TO_DATE(column1, '%Y-%B-%d') IS NOT NULL;
UPDATE table1 = STR_TO_DATE(column1, '%d/%m/%Y') WHERE STR_TO_DATE(column1, '%d/%m/%Y') IS NOT NULL;
UPDATE table1 = STR_TO_DATE(column1, '%d%b%y') WHERE STR_TO_DATE(column1, '%d%b%y') IS NOT NULL;

等......