讓我們只是說我有一個人名和他們的生日(日期和時間)表。我希望能夠使用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