Skip to main content
 首页 » 编程设计

SQLite,根据日期进行查询

2025年05月04日15daizhj

我一直在寻找如何做到这一点,但没有想出一个明确的答案(也许我的资源不是那么好)。我需要进行 SQLite 查询以从 SQLite 数据库中检索两个日期之间的数据。

我正在尝试:

SELECT CONTACTNAME 
FROM SHIPMENT  
WHERE DATECREATED  
BETWEEN date('11-15-2010')  
AND date('12-25-2010'); 

数据在我的 SQLite 数据库中为:

CONTACTNAME=VARCHAR 
DATECREATED=date (format: "11/22/2010") 

请您参考如下方法:

SQLite 没有日期类型。您可以将日期存储为字符串,但您需要使用 YYYY-MM-DD 日期顺序,NOT MM-DD-YYYY。这主要有两个原因:

(1) 正确排序

对于 YYYY-MM-DD 日期,字典顺序与时间顺序相同,这使得 < , > , 和 BETWEEN运算符按预期工作。

MM-DD-YYYY 日期不是情况。查询日期 BETWEEN '11-15-2010' AND '12-25-2010'会错误匹配'11-22-1963''12-21-2012' .

(2) 与 SQLite date and time functions 的兼容性.

它们接受字符串和数字(​​Julian)日期,但如果您将字符串传递给这些函数中的任何一个,它必须具有 YYYY-MM-DD 顺序。