You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VARCHAR转DATE遇#1411错误:空值导致str_to_date失效求助

解决MySQL UPDATE语句的#1411错误并处理空字符串

修改后的UPDATE语句

UPDATE table1 
SET LastClickDate = IF(LastClickDate = '', '0000-00-00', DATE(STR_TO_DATE(LastClickDate, '%m/%d/%Y %I:%i:%s %p')));

问题原因

STR_TO_DATE()函数无法解析空字符串(''),这会直接触发#1411错误。通过IF()条件判断,我们先对空字符串做特殊处理,直接赋值为'0000-00-00',仅对有效格式的字符串执行日期转换逻辑。

扩展处理(若存在NULL值)

如果列中同时存在NULL值,可调整条件同时覆盖两种情况:

UPDATE table1 
SET LastClickDate = IF(LastClickDate IS NULL OR LastClickDate = '', '0000-00-00', DATE(STR_TO_DATE(LastClickDate, '%m/%d/%Y %I:%i:%s %p')));

额外建议

处理完成后,建议将LastClickDate列的数据类型修改为DATE,避免后续再出现字符串格式不兼容的问题:

ALTER TABLE table1 MODIFY COLUMN LastClickDate DATE DEFAULT '0000-00-00';

内容的提问来源于stack exchange,提问作者John Beasley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 18:28:10