我试图从一个SQLite数据库中选择所有内容在一个日期发布的数据,而不管它在哪一年发布。例如:每年7月15日在数据库。SQLite当前日期和过去几年的当前日期
这是我的代码到目前为止。
SELECT Date, Content FROM MYDATABASE WHERE Date = date('now')
我怎样才能让这个也包含在当前日期以前的所有条目?
我试图从一个SQLite数据库中选择所有内容在一个日期发布的数据,而不管它在哪一年发布。例如:每年7月15日在数据库。SQLite当前日期和过去几年的当前日期
这是我的代码到目前为止。
SELECT Date, Content FROM MYDATABASE WHERE Date = date('now')
我怎样才能让这个也包含在当前日期以前的所有条目?
你可以比较你与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
Ludo,而你的代码在SQLite管理器中工作正常;它会在钛中生成以下错误:“未捕获的SyntaxError:意外的字符串”。 – Maxx 2012-07-16 22:31:50
'where da y(日期)=日(日期('现在'))和月份(日期)=月(日期('现在'))'或大约? – 2012-07-15 05:44:10
Marc,这会导致“无此功能:日”错误。 – Maxx 2012-07-15 06:03:01