【问题标题】:SQLITE3 python Delete rows based on the string date yyyy/mm/dd hh:mm:ssSQLITE3 python根据字符串日期yyyy/mm/dd hh:mm:ss删除行
【发布时间】:2020-06-06 22:11:09
【问题描述】:

我有一个像这样的大型 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() 

这不起作用。

【问题讨论】:

    标签: python sqlite datetime sql-delete python-datetime


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 2015-11-03
      相关资源
      最近更新 更多