MySQL:将 table 值更新为日期格式 %d-%m-%y TO %y-%m-%d
MySQL: update table values with DATE FORMAT %d-%m-%y TO %y-%m-%d
在数据库导入过程中,我有点搞砸了。所以现在我有一个 DATE
类型的日期列,但是年份和日期在错误的位置:日期最终出现在年份列中并且 MySQL 已将其自动格式化为进一步的年份情况恶化。
我在 table 中有值,如下所示:
dates(dddd-mm-yy)
2030-05-12
2021-06-13
2012-12-13
我想要他们这样:
dates(yyyy-mm-dd)
2012-05-30
2013-06-21
2013-12-12
请注意,我实际上想要 UPDATE
专栏,我在 SELECT
上看过并尝试过很多示例。
提前致谢。
您可以使用 substring() 和 concat() 来连接任何您想要的内容。以下是供您参考的声明(table是tb_test,列名是col_date)。
update tb_test set col_date = concat('20',substring(col_date,7,2),'-',substring(col_date,4,2),'-',substring(col_date,1,2));
我不知道这是否可以归类为 "solution",也许更像是一种解决方法,但它对我来说完美无缺。
阅读 this 后,我意识到当我尝试以 dd-mm-yy 格式导入我的日期时,我的问题就开始了,因此 Mysql 假设我的一天是一年,并提出了我的日期为 yydd-mm-yy
我的日期格式为 yydd-mm-yy 并且我已经多次尝试查询
UPDATE table_name
SET DATES = DATE_FORMAT(DATES, '%Y-%m-%d');
此查询 运行 但未对 Table 进行任何更改,因为在 Mysql 的眼中,它帮助我将日期格式设置为 yyyy-mm-dd 从我开始导入了我的数据库,但我的日期仍然在 yydd-mm-dd
所以我想,如果我尝试这样的查询会怎么样;
UPDATE table_name
SET DATES = DATE_FORMAT(DATES, '%d-%m-%y');
这样 Mysql 切换了日期和年份,然后将我的日期提供为 yyyy-mm-dd,Mysql 处理日期的方式非常令人困惑,但日期的最终结果类似于 2030 -05-12 是 2012-05-30.
在数据库导入过程中,我有点搞砸了。所以现在我有一个 DATE
类型的日期列,但是年份和日期在错误的位置:日期最终出现在年份列中并且 MySQL 已将其自动格式化为进一步的年份情况恶化。
我在 table 中有值,如下所示:
dates(dddd-mm-yy)
2030-05-12
2021-06-13
2012-12-13
我想要他们这样:
dates(yyyy-mm-dd)
2012-05-30
2013-06-21
2013-12-12
请注意,我实际上想要 UPDATE
专栏,我在 SELECT
上看过并尝试过很多示例。
提前致谢。
您可以使用 substring() 和 concat() 来连接任何您想要的内容。以下是供您参考的声明(table是tb_test,列名是col_date)。
update tb_test set col_date = concat('20',substring(col_date,7,2),'-',substring(col_date,4,2),'-',substring(col_date,1,2));
我不知道这是否可以归类为 "solution",也许更像是一种解决方法,但它对我来说完美无缺。
阅读 this 后,我意识到当我尝试以 dd-mm-yy 格式导入我的日期时,我的问题就开始了,因此 Mysql 假设我的一天是一年,并提出了我的日期为 yydd-mm-yy
我的日期格式为 yydd-mm-yy 并且我已经多次尝试查询
UPDATE table_name
SET DATES = DATE_FORMAT(DATES, '%Y-%m-%d');
此查询 运行 但未对 Table 进行任何更改,因为在 Mysql 的眼中,它帮助我将日期格式设置为 yyyy-mm-dd 从我开始导入了我的数据库,但我的日期仍然在 yydd-mm-dd
所以我想,如果我尝试这样的查询会怎么样;
UPDATE table_name
SET DATES = DATE_FORMAT(DATES, '%d-%m-%y');
这样 Mysql 切换了日期和年份,然后将我的日期提供为 yyyy-mm-dd,Mysql 处理日期的方式非常令人困惑,但日期的最终结果类似于 2030 -05-12 是 2012-05-30.