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

如何在SQLite中查询两个日期之间的数据?

SQLite日期范围查询的正确写法

你当前的查询语句可能因日期格式问题导致结果不准确,SQLite对日期字符串的比较是按字符顺序进行的,'02/01/2025'这种日/月/年的格式不符合SQLite默认识别的ISO标准格式(YYYY-MM-DD),容易出现逻辑错误。

正确的处理方式有两种:

  • 方法一:转换日期格式后比较
    使用DATE()函数将存储的日期字符串转换为标准格式,再做范围判断:

    SELECT * FROM T_SITUATION_2025 
    WHERE DATE(T_SITUATION_2025.date, 'dd/mm/yyyy') >= '2025-01-02' 
      AND DATE(T_SITUATION_2025.date, 'dd/mm/yyyy') <= '2025-01-30';
    

    其中'dd/mm/yyyy'用于指定你存储的日期格式,保证函数能正确解析。

  • 方法二:直接使用ISO格式字符串查询
    若能调整输入格式为YYYY-MM-DD,无需转换即可准确比较:

    SELECT * FROM T_SITUATION_2025 
    WHERE T_SITUATION_2025.date >= '2025-01-02' 
      AND T_SITUATION_2025.date <= '2025-01-30';
    

如果你的date字段存储的是时间戳或其他非字符串类型,同样可以用DATE()函数转换后再进行范围查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:24:51