让我们只是说我有一个人名和他们的生日(日期和时间)表。我希望能够使用SQLite的以下SQL为今天查找人们的生日(日期和时间)。什么是Sqlite SQL语句只查找今天的记录?
SELECT * FROM Btable WHERE Bday = date('yyyy-MM-dd')
但是,它总是返回nil数据集。我是否也需要包括时间?
究竟是什么错我的SQL语句?如果是这样,那么查询今天日期的正确SQL语句是什么。
UPDATE:
下面是使用BETWEEN逻辑我实际的SQL语句:
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 ALARMTIME BETWEEN date(2012-08-02)
AND date(2012-08-3)
ORDER BY ALARMTIME DESC
生日不是在同一年。您可能想要比较日月,而不是年。 – 2012-08-02 14:23:39
@NikolaMarkovinović,是的,这是一个不好的例子,但你明白了。 :)我可以说这个表是一个报警日志,我想查找今天的所有报警日志。 – ThN 2012-08-02 14:30:47
;-D在这种情况下,你需要或者截断'BDay'仅日期,或者更好,过滤器,其中BDAY> = my_date和BDAY <(my_date + 1天)。不幸的是我不使用sqlite,所以我无法提供确切的语法。 – 2012-08-02 14:34:12