首页 > 解决方案 > SQL 错误 [1525] [HY000]:不正确的 DATETIME 值:''

问题描述

SQL Error [1525] [HY000]: Incorrect DATETIME value: ''运行以下查询时出现错误:

SELECT * FROM mytable where date_time_column >=''

该查询在过去几个月内一直有效,并且从昨天开始出现上述错误。

我的 MySQL 版本是8.0.17.

我尝试通过旧版本的代码运行代码,但仍然出现相同的错误。即使在 MySQL Workbench 中尝试也会出现同样的错误。

哪些数据库配置更改会导致此问题?

标签: mysql

解决方案


它似乎与数据库更改本身无关,但版本8.0.16中有关比较DATETIMETIMESTAMP类型的一些变化strings。该行为已记录在8.0.16更改日志中,如下所示:

在将DATE值与常量字符串进行比较时,MySQL 首先尝试将字符串转换为 a DATE,然后执行比较。当转换失败时,MySQL 将DATE 视为字符串执行比较,这可能导致不可预知的行为。现在在这种情况下,如果将字符串转换为 aDATE失败,则比较失败并显示ER_WRONG_VALUE. (错误号 29025656)

此外,这在此处被报告为错误

PD:您的查询适用于我的旧 5.7 MySQL 版本。


推荐阅读