2012-07-15 238 views
0

我試圖從一個SQLite數據庫中選擇所有內容在一個日期發佈的數據,而不管它在哪一年發佈。例如:每年7月15日在數據庫。SQLite當前日期和過去幾年的當前日期

這是我的代碼到目前爲止。

SELECT Date, Content FROM MYDATABASE WHERE Date = date('now')

我怎樣才能讓這個也包含在當前日期以前的所有條目?

+0

'where da y(日期)=日(日期('現在'))和月份(日期)=月(日期('現在'))'或大約? – 2012-07-15 05:44:10

+0

Marc,這會導致「無此功能:日」錯誤。 – Maxx 2012-07-15 06:03:01

回答

2

你可以比較你與strftime(...)功能得到爲期一個月的日部分:

SELECT Date, Content 
FROM MYDATABASE 
WHERE strftime('%m%d', Date) = strftime('%m%d', date('now')) 

查看文檔瞭解更多有關日期時間函數:http://www.sqlite.org/lang_datefunc.html

請注意,對於日期和時間功能正常工作,您的日期必須以以下格式之一存儲(如上面鏈接的文檔中所述):

YYYY-MM-DD 
YYYY-MM-DD HH:MM 
YYYY-MM-DD HH:MM:SS 
YYYY-MM-DD HH:MM:SS.SSS 
YYYY-MM-DDTHH:MM 
YYYY-MM-DDTHH:MM:SS 
YYYY-MM-DDTHH:MM:SS.SSS 
HH:MM 
HH:MM:SS 
HH:MM:SS.SSS 
now 
DDDDDDDDDD 
+0

Ludo,而你的代碼在SQLite管理器中工作正常;它會在鈦中生成以下錯誤:「未捕獲的SyntaxError:意外的字符串」。 – Maxx 2012-07-16 22:31:50