mysql - SQL 错误 [1525] [HY000]:不正确的 DATETIME 值:''
问题描述
SQL Error [1525] [HY000]: Incorrect DATETIME value: ''
运行以下查询时出现错误:
SELECT * FROM mytable where date_time_column >=''
该查询在过去几个月内一直有效,并且从昨天开始出现上述错误。
我的 MySQL 版本是8.0.17
.
我尝试通过旧版本的代码运行代码,但仍然出现相同的错误。即使在 MySQL Workbench 中尝试也会出现同样的错误。
哪些数据库配置更改会导致此问题?
解决方案
它似乎与数据库更改本身无关,但版本8.0.16
中有关比较DATETIME
和TIMESTAMP
类型的一些变化strings
。该行为已记录在8.0.16
更改日志中,如下所示:
在将
DATE
值与常量字符串进行比较时,MySQL 首先尝试将字符串转换为 aDATE
,然后执行比较。当转换失败时,MySQL 将DATE
视为字符串执行比较,这可能导致不可预知的行为。现在在这种情况下,如果将字符串转换为 aDATE
失败,则比较失败并显示ER_WRONG_VALUE
. (错误号 29025656)
此外,这在此处被报告为错误。
PD:您的查询适用于我的旧 5.7 MySQL 版本。
推荐阅读
- angular - 在 Angular 8 中使用 xlsx 导出 excel
- java - 在 VUetify 中,扩展面板标题粘滞在 IE 11 浏览器中不起作用
- blazor - Web API 将驻留在 Blazor 全栈项目中的什么位置?
- html - 无法将自定义 CSS 类添加到图像
- mysql - Caml查询 - 查看没有时间戳的日期类型列
- python - 如何在每个 Qlabel PyQt5 中显示两个图像
- google-apps-script - 如何在 google docs / google apps 脚本中删除 pdf 导出的白色背景层?
- puppeteer - Puppeteer - 处理基本身份验证弹出窗口(单击链接后出现)
- visual-studio-code - 无法使用 task.json 在 macOS Catalina 的 vscode 中编译 fortran 90 代码
- javascript - 多次调用链接到异步函数js的函数