【发布时间】: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-DD。DD-MM-YYYY不规范,无法正确排序。 -
您在
str_to_date上的格式是dd-mm-yyyy,但错误显示您传递的值是dd/mm/yyyy格式。将您的代码更改为SET launch_month = str_to_date( launch_month, '%d/%m/%Y' )应该可以工作。
标签: mysql