SQLITE3 python根据字符串日期yyyy / mm / dd hh:mm:ss删除行

问题描述 投票:-1回答:1

我有一个很大的SQLITE3数据库,如下所示:

enter image description here

其中“ 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() 

这不起作用。

python sqlite datetime sql-delete python-datetime
1个回答
0
投票

您对时间戳的描述与您照片中的内容不符...

无论如何,您应该以常规的'YYYY-MM-DD HH:MM:SS'格式存储日期字符串。然后,您可以只使用WHERE date_ <= '2020-01-01'

或使用Unix时间将它们存储为整数,以节省空间并具有更快的比较。

© www.soinside.com 2019 - 2024. All rights reserved.