2011-05-28 72 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

相关问题