#1292 运行查询时 MySQL 中不正确的日期时间值错误
Posted
技术标签:
【中文标题】#1292 运行查询时 MySQL 中不正确的日期时间值错误【英文标题】:#1292 Incorrect date time value error in MySQL when running a query 【发布时间】:2021-11-11 05:28:51 【问题描述】:我正在尝试过滤两个日期之间的数据。但它抛出一个错误。
警告:#1292 不正确的日期时间值:第 1 行 .
.date_field
列的“1631254384”
我正在运行的查询是:
SELECT *
FROM `tblletter`
WHERE (date(date_field) BETWEEN '2021-09-10' AND '2021-09-15')
date_field 看起来像这样
我在 google 上查找了错误,发现它们可能是 sql_mode 的问题。但我还是解决不了。
【问题讨论】:
你可以试试 DATE(FROM_UNIXTIME(date_field) 而不是 date(date_field) 【参考方案1】:date_field
包含 Unix 时间戳,而不是 DATETIME
或可以解析为日期的字符串。使用FROM_UNIXTIME()
函数将其转换为DATETIME
。
SELECT *
FROM `tblletter`
WHERE (DATE(FROM_UNIXTIME(date_field)) BETWEEN '2021-09-10' AND '2021-09-15')
【讨论】:
非常感谢。成功了以上是关于#1292 运行查询时 MySQL 中不正确的日期时间值错误的主要内容,如果未能解决你的问题,请参考以下文章
Java 获取的日期和mysql数据库中不一致问题(完美解决)