Stored procedures 我必须根据DB2中的时间戳删除30天以前的数据

Stored procedures 我必须根据DB2中的时间戳删除30天以前的数据,stored-procedures,db2,dynamic-programming,cobol,Stored Procedures,Db2,Dynamic Programming,Cobol,我需要在DB2中删除30天以前的记录。我用下面的代码来删除,它工作得很好,但当前的时间戳不断变化。这导致我的程序循环进行 DELETE FROM TABLE WHERE TIMESTAMP_FIELD < CURRENT TIMESTAMP - 31 DAYS 从表中删除 其中时间戳_字段

我需要在DB2中删除30天以前的记录。我用下面的代码来删除,它工作得很好,但当前的时间戳不断变化。这导致我的程序循环进行

DELETE FROM TABLE 
WHERE TIMESTAMP_FIELD < CURRENT TIMESTAMP - 31 DAYS
从表中删除
其中时间戳_字段<当前时间戳-31天
我将我的过程用作泛型删除,因此我将无法使用主机变量。我尝试了
subdate
ADDDATE
,但没有成功

请帮帮我


谢谢,当前的时间戳一直在变化,所以如果你用它来进行微秒级的比较,你很容易追尾

如果删除时需要不太精确的值,可以将当前日期与“00:00:00”(午夜)一起转换为31天。此值仅在当前日期更改时才会更改,因此您的结果更具可预测性

  DELETE FROM TABLE 
  WHERE TIMESTAMP_FIELD < TIMESTAMP(CURRENT DATE - 31 DAYS, '00:00:00') 
从表中删除
其中TIMESTAMP_字段
谢谢。下面的工作也很好。。从TIMESTAMP_字段