在sqlite datetime列或字符串列(具有dateTime)上执行范围查询

时间:2013-11-07 09:27:18

标签: c# sqlite datetime .net-3.5

net.dll用于在sqlite上执行操作。我面临着sqlite数据库的问题,就像我创建了一个列作为文本名称作为DateTime并将日期字符串存储到其中。我想要在某个日期范围之间的条目,但我无法执行查询。

将DateTime列类型的查询用作“日期”: **

SELECT * FROM TableName WHERE ColumnName BETWEEN '1800-1-1' AND '2010-12-12'

**

将DateTime列类型的查询用作“String”:

**

SELECT * FROM MD5_HEADER WHERE Sent BETWEEN '4/1/2007 12:01:00 AM' AND '12/1/2010 4:05:36 AM'

**

如果有人对此问题有解决方案,请帮助我。

(c#,Sqlite.net.dll,framework3.5)

2 个答案:

答案 0 :(得分:0)

首先,SQLite没有date类型。它将日期存储为textinteger。 假设您的列的类型为text,则第一个查询看起来是正确的,因为ISO 8061格式的日期具有字典顺序。它只是看起来像你在声明结尾处遗漏了一个分号。

答案 1 :(得分:0)

尝试用零填充空白:

SELECT * FROM TableName WHERE ColumnName BETWEEN '1800-01-01' AND '2010-12-12'