【问题标题】:#1292 Incorrect date time value error in MySQL when running a query#1292 运行查询时 MySQL 中不正确的日期时间值错误
【发布时间】: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)

标签: mysql database phpmyadmin


【解决方案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')

【讨论】:

  • 非常感谢。成功了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 2014-06-28
  • 2014-05-13
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 2019-02-24
相关资源
最近更新 更多