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

SQLite如何查询特定时间段内的所有数据条目?

查询特定时间段内的数据条目解决方案

你的Date列已经是标准的YYYY-MM-DD日期格式,不需要额外转换,直接用比较运算符就能精准筛选时间段,最直接的SQL语句如下:

SELECT * FROM Touurs
WHERE Date BETWEEN '2023-01-01' AND '2023-05-10';

也可以用等价的范围写法,效果完全一致:

SELECT * FROM Touurs
WHERE Date >= '2023-01-01' AND Date <= '2023-05-10';

关于strftime无效的原因

如果之前用strftime没得到正确结果,大概率是用法冗余或错误。比如在SQLite这类数据库中,当列本身就是标准日期格式时,额外用strftime转换属于画蛇添足;如果你的Date列是字符串类型,错误的格式参数也会导致匹配失败。举个典型的错误写法:

strftime('%Y-%m-%d', Date) BETWEEN '2023-01-01' AND '2023-05-10'
这种写法语法没问题,但完全没必要,反而可能因为隐式转换导致性能或结果异常。

额外注意点

  • 检查Date列是否存在无效格式(比如2023/01/01、01-05-2023),非标准格式会直接破坏比较逻辑。
  • 若数据库有时区配置,确认数据存储的日期是否与查询的时区一致,避免跨时区导致的结果偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:30:53