我有一个像这样的大型SQLITE3数据库:
“ date_”字段是格式为YYYY / MM / DD HH:MM:SS的字符串
我想删除2020年之前的所有行。我做了类似的事情,但似乎我需要将所有日期转换为sqlite3的整数。我有点不知道该怎么做。这是我的主意:
def delete_rows_before_2020(con):
cursorObj = con.cursor() #create connection to the BDD
cursorObj.execute('DELETE FROM my_bdd WHERE date_ <= CAST(strftime('%s', '2020-01-01') AS integer')
con.commit()
这不起作用。
答案 0 :(得分:0)
您对时间戳的描述与您的照片不符...
无论如何,您应该以常规'YYYY-MM-DD HH:MM:SS'
格式存储日期字符串。然后,您可以只使用WHERE date_ <= '2020-01-01'
。
或者使用Unix时间将它们存储为整数,以节省空间并加快比较速度。