这是我在下面使用的python代码。但是它不起作用并且没有显示任何错误。
delquery = "DELETE FROM table1 WHERE date_column < date ('now', '-30 day')"
conn.execute(delquery)
我正在使用SQLite数据库。
答案 0 :(得分:1)
如果格式为yyyy/MM/dd
,则必须将其更改为yyyy-MM-dd
,因为这是SQLite中日期的唯一有效的可比格式:
DELETE FROM table1 WHERE REPLACE(date_column, '/', '-') < date('now', '-30 day')
或者甚至更好地更新表格,所以date_column
的格式正确,并且每次您要比较日期时都不需要功能REPLACE()
:
UPDATE table1
SET date_column = REPLACE(date_column, '/', '-')
答案 1 :(得分:0)
declare @end date = DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)
DELETE FROM table1 WHERE date_column < @end