2011-05-28 123 views
5

我在SQLite數據庫中保存了我的數據。 我以DATETIME數據類型將我的日期保存在數據庫中。如何從SQLite數據庫中獲取特定月份的數據

我想從我的SQLite數據庫僅檢索特定月份的數據。

我嘗試下面的查詢來檢索數據,但它沒有用。它給了我數據,但它不是特定的月份。

SELECT coulumn_name FROM table_name WHERE column_name Between "MM-DD-YYYY" AND "MM-DD-YYYY" 
+1

你在格式爲 「YYYY-MM-DD」 與您的日期試試? – Mat 2011-05-28 05:45:04

+0

不,我不試試它...因爲我只想要這種日期格式...我現在試試,它的工作與否。 – 2011-05-28 05:46:57

+1

「MM-DD-YYYY」的核心問題在於它在連續時間跨度上不是按字典順序排列的。這就是爲什麼在一般情況下使用ISO 8601日期/時間的原因:-) [SQLite也以最小的努力支持ISO 8601] – 2011-05-28 06:23:29

回答

7

這可能不是最優的,但是你可以使用:

select column_name from table_name where strftime('%Y-%m', column_name) = '2011-05'; 
2

使用功能只檢索我相信這是該函數的日期

SELECT strftime('%m', date(column_name)) FROM table;

的一個月,但我不那麼肯定。

+0

+1但是可能需要考慮Year(我給出了+1,因爲這個問題在該地區有點模糊)。該函數也應該移到'WHERE'中。 – 2011-05-28 06:26:21

相關問題