首页 > 解决方案 > 如何在 MYSQL 中将 MM/YY 转换为 YYYY-MM-DD

问题描述

我有以下格式(MM/YY)的样本数据。

Dt
11/13
4/85
4/84
5/14
09/06

我需要将该数据转换为 YYYY-MM-DD

       Dt
    2013-11-01
    1985-04-01
    1984-04-01
    2014-05-01
    2006-09-01

我试过使用 Date_Format(Dt,%y%m%d) 但它仍然给出错误。

我知道文件中的这种格式不正确,但我得到了数据,就像我需要使用 MYSQL 转身一样。对此有任何建议

标签: mysqlsql

解决方案


您需要使用STR_TO_DATE将文本转换为日期:

SELECT STR_TO_DATE(CONCAT('01/', Dt), '%d/%m/%y') AS Dt
FROM data

NO_ZERO_DATE请注意,如果NO_ZERO_IN_DATE启用了 SQL 模式,则必须在字符串中添加一天以避免出现问题。

输出:

Dt
2013-11-01
1985-04-01
1984-04-01
2014-05-01
2006-09-01

SQLFiddle 上的演示


推荐阅读