【发布时间】:2012-08-03 15:28:46
【问题描述】:
我需要使用以下 SQL 语句查询 SQLite 数据库表。
SELECT *
FROM Alarms
WHERE ALARMSTATE IN (0,1,2)
AND ALARMPRIORITY IN (0,1,2,3,4)
AND ALARMGROUP IN (0,1,2,3,4,5,6,7)
AND DateTime(ALARMTIME) BETWEEN datetime("2012-08-02 00:00:00")
AND datetime("2012-08-03 00:00:00")
ORDER BY ALARMTIME DESC
ALARMTIME 是 TEXT 数据类型。
ALARMTIME 在 datagridview 中显示如下“08/03/2012 11:52 AM”。你能用那种格式来检查像 DateTime(ALARMTIME) 吗?
这个 SQL 语句的唯一问题是它总是返回零数据集或记录。但是,SQLite 不会抱怨语法。
【问题讨论】:
-
我假设“警报”中有数据会导致它满足每个“与”标准?
-
@JamieKeeling,是的,表中有很多数据。
-
@ChrisMoutray,是的,当我不检查 ALARMTIME 时,它会返回一大堆记录。嗯,ALARMTIME 看起来像 2012 年 8 月 2 日上午 11:41。哦,天哪……我想我现在看到了……但在我下结论之前我想听听你的意见……:)
-
其实我对sqlite知之甚少,感觉就是要确认/检查一下。
标签: sql sqlite datetime type-conversion