【问题标题】:Convert varchar column to date in mysql - error 1411在 mysql 中将 varchar 列转换为日期 - 错误 1411
【发布时间】:2020-10-24 13:51:20
【问题描述】:

我正在尝试将数据格式为“01/06/2018”的 varchar 类型列转换为相同格式的日期类型,即 DDMMYYYY。

我正在使用以下语法:

UPDATE `gto_data_raw`

SET `launch_month` = str_to_date( `launch_month`, '%d-%m-%Y' )

但是我收到以下错误: 20:51:13 更新 gto_data_raw SET launch_month = str_to_date(launch_month, '%d-%m-%Y' ) 错误代码:1411。不正确的日期时间值:函数 str_to_date 的 '01/06/2018' 0.000 秒

【问题讨论】:

  • 在 MySQL 中处理日期时应该使用ISO-8601 format,即YYYY-MM-DDDD-MM-YYYY 不规范,无法正确排序。
  • 您在str_to_date 上的格式是dd-mm-yyyy,但错误显示您传递的值是dd/mm/yyyy 格式。将您的代码更改为 SET launch_month = str_to_date( launch_month, '%d/%m/%Y' ) 应该可以工作。

标签: mysql


【解决方案1】:

试试这个:

UPDATE `gto_data_raw`
SET `launch_month` = str_to_date( `launch_month`, '%d/%m/%Y' );

您使用的分隔符有问题。

【讨论】:

    猜你喜欢
    • 2011-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多