You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Workbench Datetime字段跨日期查询无结果求助

问题分析与解决方案

你的SQL语句无法获取2024-06-17的数据,核心原因是结束条件写错了:
DATE_ADD('2024-06-17', interval -1 second) 计算后得到的是 2024-06-16 23:59:59,所有2024-06-17 00:00:00及之后的datetime值都会被排除在外。

下面提供两种可靠的解决方案:

方案一:简洁的日期范围写法(推荐)

直接用小于目标结束日期的下一天,自动包含结束日期当天的所有时间(从00:00:00到23:59:59):

SELECT * FROM mydb_stock.sql_vat 
WHERE VATtransactn_date >= '2024-06-16' 
  AND VATtransactn_date < '2024-06-18';

方案二:调整秒级计算的结束日期

如果坚持用秒级调整的方式,需要把基准日期改成结束日期的下一天,再减去一秒:

SELECT * FROM mydb_stock.sql_vat 
WHERE VATtransactn_date >= '2024-06-16' 
  AND VATtransactn_date < DATE_ADD('2024-06-18', INTERVAL -1 SECOND);

两种方案都能正确返回2024-06-16和2024-06-17两天的所有datetime数据,其中方案一逻辑更清晰,也更容易维护。

内容的提问来源于stack exchange,提问作者Kobby Adom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:22:03