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

如何修改SQL查询实现2000-01-01至2000-01-02的时间范围筛选

修正后的SQL查询写法

1. 兼容原有逻辑的直接修改版

如果你需要保留原有日期格式化的写法,直接追加AND条件即可:

SELECT * 
FROM abc 
WHERE filehash IN (
  SELECT xyz 
  FROM 123 
  WHERE FROM_UNIXTIME(timecreated,'%m-%d-%Y') >= "01-01-2000"
    AND FROM_UNIXTIME(timecreated,'%m-%d-%Y') <= "01-02-2000"
)

注意:该写法对timecreated字段使用了函数转换,无法命中该字段的索引,数据量较大时查询性能会较差,更推荐使用下方的高性能写法

2. 高性能推荐写法

直接对时间戳字段做数值范围匹配,不需要格式转换,可命中索引:

SELECT * 
FROM abc 
WHERE filehash IN (
  SELECT xyz 
  FROM 123 
  WHERE timecreated >= UNIX_TIMESTAMP("2000-01-01 00:00:00")
    AND timecreated <= UNIX_TIMESTAMP("2000-01-02 23:59:59")
)

该写法避免了日期格式转换可能带来的字符串比较逻辑错误,查询效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:06:03