日期从 yyyy-mm-dd 转换为 yyyy-mm-dd 将年转换为日
date convert from yyyy-mm-dd to yyy-mm-dd converting year to day
我已将数据从旧数据库迁移到新数据库,其中日期设为 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
您可以像这样使用 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>
我已将数据从旧数据库迁移到新数据库,其中日期设为 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
您可以像这样使用 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>