如何重新格式化MySQL列的日期值?

如何重新格式化MySQL列的日期值?,mysql,Mysql,我想把表中的数据复制到另一个表中,但我对一个列很不满意 表A有一列DP类型VARCHAR(10)以字符串格式保存日期值,方式为“dd/MM/yyyy” 表B有一列DC,其类型为类型为DATE以日期格式保存日期值:“yyyy-MM-dd” 如果我将列DP更改为type DATE,那么它的所有值都将转换为“0000-00-00”。 如果我试图直接复制,会出现一个错误,阻止复制,因为DP值不会被识别为DC列中的日期值 因此,或者,找到一种方法将DP值重新格式化为与“yyyy-MM-dd”模式相关的

我想把表中的数据复制到另一个表中,但我对一个列很不满意

  • 表A有一列DP类型
    VARCHAR(10)
    以字符串格式保存日期值,方式为“dd/MM/yyyy

  • 表B有一列DC,其类型为类型为
    DATE
    以日期格式保存日期值:“yyyy-MM-dd”

如果我将列DP更改为type DATE,那么它的所有值都将转换为“0000-00-00”。 如果我试图直接复制,会出现一个错误,阻止复制,因为DP值不会被识别为DC列中的日期值

因此,或者,找到一种方法将DP值重新格式化为与“yyyy-MM-dd”模式相关的日期值,然后复制,或者在复制时找到一些函数将法语日期转换为英语日期

有人有线索吗?
问候

要做到这一点,您需要3个查询:

  • 更改表格以添加日期数据类型的新列
  • 使用UPDATE query with函数以正确的格式将日期移动到新列中
  • 更改表以删除旧列,并将新列重命名为其应有的名称
  • 该函数可以为您处理此问题

    STR_TO_DATE(`DP`, "%d/%m/%Y")
    

    就是这样。函数成功了。非常感谢!希望你不介意我接受了@Brad answer,因为它提供了确切的使用模式。