我正在使用Tweepy API并将推文存储在sqlite3数据库中。我可以使用Tweepy中的函数获取日期和时间。它将值存储在数据库中
2015-06-06 23:06:19
然后,我需要确定此日期的年龄是否大于30天,如果需要,则需要删除数据库中的行。
c.execute ("DELETE FROM storedTweets WHERE tweetDate < DATE() - 30")
这是我到目前为止,但查询不是删除条目。
我确信这很简单,但我是新手。提前致谢
答案 0 :(得分:3)
DATE()-30
不会返回日期:
sqlite> select DATE();
2015-06-06
sqlite> select DATE()-30;
1985
sqlite> select date('now','-30 days');
2015-05-07
因此,
c.execute("DELETE FROM storedTweets WHERE tweetDate < date('now','-30 days')")
或者,您可以使用Python计算日期:
import datetime as DT
date = DT.date.today()-DT.timedelta(days=30)
c.execute("DELETE FROM storedTweets WHERE tweetDate < ?", [date])