在 MySQL 5.7 中,我有一个 varchar 列,其中包含如下所示的字符串日期时间:
`2024-09-03 02:00:07`
我可以运行这个查询:
select date_format(str_to_date(`column1`, '%Y-%m-%d %H:%i:%s'), '%m/%d/%Y') from table;
这将以如下格式返回 column1 的日期:
09/03/2024
但是当我运行这个更新查询时:
update table set `column1` = date_format(str_to_date(`column1`, '%Y-%m-%d %H:%i:%s'), '%m/%d/%Y');
我收到以下错误:
Incorrect datetime value: '' for function str_to_date
该列中有一些空值。我将表的结构更新为该DEFAULT: NULL
列,并选中了 Null 复选框:
我该如何修复此问题以便它能够相应地更新?
在调用转换函数之前检查是否为空值。