如何在不丢失数据的情况下将varchar类型列更改为date类型列

8yparm6h  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(300)

在我的datatable中有一个名为'journeydate'的列,它是varchar类型,并且它包含dd/mm/yyyy格式的数据,现在我需要的是我想将varchar类型转换为具有相同数据但为yy-mm-dd格式的日期类型列。
我们如何在不丢失现有数据的情况下做到这一点。
数据库表截图

cu6pst1q

cu6pst1q1#

转换:

update tbl set jdate=str_to_date(journeydate, '%d/%m/%Y');

您应该分三步进行转换:
创建类型为的列 date (e。g。 jdate )
用当前值填充列 journeydate 列(使用我上面发布的转换。)
现在,一旦确定没有任何查询仍然依赖于这两列,就可以重命名这两列 journeydate 属于varchar类型的。
作为可选的最后一步,您可以删除过时的varchar列。我会保留一段时间,以检查可能的转换错误。

相关问题