日期从yyyy-mm-dd转换为yyy-mm-dd逐年转换

时间:2017-06-04 07:42:37

标签: mysql sqldatetime

我已将数据从旧数据库迁移到新数据库,其中日期为varchar,我已成功迁移数据但日期出现问题。在旧数据库中,日期格式为25-01-02,其中25为日01为月,02为年。但我的脚本将其转换为2025-01-02。如何在我的SQL中修复它?

TEST case:
DATE                  OUTPUT
2025-05-01            2001-05-25
2002-08-16            2016-08-02
2031-01-01            2001-01-31
2028-08-16            2016-08-28
2001-05-01            2001-05-01

1 个答案:

答案 0 :(得分:1)

您可以使用 STR_TO_DATE 轻松转换,如下所示:

SELECT STR_TO_DATE('25-01-02', '%d-%m-%y');

<强>样品

mysql> SELECT STR_TO_DATE('25-01-02', '%d-%m-%y');
+-------------------------------------+
| STR_TO_DATE('25-01-02', '%d-%m-%y') |
+-------------------------------------+
| 2002-01-25                          |
+-------------------------------------+
1 row in set (0,00 sec)

mysql>

请参阅手册:https://mariadb.com/kb/en/mariadb/str_to_date/