我一直在寻找如何做到这一点,但没有找到明确的答案(也许我的资源不是那么好)。我需要进行 SQLite 查询以从 SQLite DB 检索两个日期之间的数据。
我正在尝试这个:
SELECT CONTACTNAME
FROM SHIPMENT
WHERE DATECREATED
BETWEEN date('11-15-2010')
AND date('12-25-2010');
数据在我的 SQLite DB 中如下:
CONTACTNAME=VARCHAR
DATECREATED=date (format: "11/22/2010")
SQLite 没有日期类型。您可以将日期存储为字符串,但需要使用 YYYY-MM-DD 日期顺序,NOT月-日-年。造成这种情况的主要原因有两个:
(1) 正确排序
对于 YYYY-MM-DD 日期,字典顺序与时间顺序相同,这使得<
, >
, and BETWEEN
操作员按预期工作。
This is notMM-DD-YYYY 日期的情况。日期查询BETWEEN '11-15-2010' AND '12-25-2010'
会错误匹配'11-22-1963'
and '12-21-2012'
.
(2) 兼容性SQLite 日期和时间函数.
它们接受字符串和数字(儒略)日期,但如果将字符串传递给任何这些函数,则它必须具有 YYYY-MM-DD 顺序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)