【问题标题】:Is there any way to cleanse column having different date formats in mysql有没有办法清理mysql中具有不同日期格式的列
【发布时间】:2016-03-24 23:57:06
【问题描述】:

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

例如:

%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-%m-%d

**。

【问题讨论】:

  • 你的列数据类型是什么?

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


【解决方案1】:

您必须更新表格数据。您可以使用 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;

等等……

【讨论】:

  • 如何区分月份和日期?选择 DATE_FORMAT(STR_TO_DATE('2015-08-09', '%Y-%m-%d'),'%Y-%b-%d') , DATE_FORMAT(STR_TO_DATE('2015-08-09', ' %Y-%d-%m'),'%Y-%b-%d') ;它返回不同的结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多