提问者:小点点

SQL错误[1525][HY000]:不正确的日期时间值:''


运行以下查询时,我得到错误SQL错误[1525][HY000]:不正确的日期时间值:'':

SELECT * FROM mytable where date_time_column >=''

该查询在过去的几个月中一直工作,从昨天开始出现上述错误。

我的MySQL版本是8.0.17

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

什么数据库配置更改会导致这种情况?


共1个答案

匿名用户

这似乎与数据库更改本身无关,但在8.0.16版本中,有关DateTimeTimeStamp类型与Strings的比较的一些内容发生了变化。 8.0.16更改日志中已经记录了该行为,如下所示:

在比较date值与常量字符串时,MySQL首先尝试将字符串转换为date,然后执行比较。 当转换失败时,MySQL将date作为字符串执行比较,这可能导致不可预测的行为。 现在,在这种情况下,如果字符串到date的转换失败,则与er_wrong_value的比较失败。 (错误#29025656)

另外,这在这里被报告为bug。

PD:您的查询在我的旧5.7MySQL版本上工作。