1

在 Oracle 中,我有一个DB_FLD_4定义为VARCHAR2(20 BYTE)但实际上保存日期信息的表,如下所示:

select DB_FLD_4 from DM_SUPDES_DISTRIB order by DB_FLD_4 desc;

4/9/2017
4/7/2017
4/6/2017

一种 m/d/yyyy 格式。

我想创建一个 SP,它会从表中删除超过 1 个月的每一天的行。

我的 sysdate 如下所示:

select sysdate from dual;

SYSDATE
24-APR-17 04.41:00

请帮助操纵格式以使这成为可能。

非常感谢 !!!

4

1 回答 1

1

在您的列上使用to_date(),然后将 sysdate 截断为“四舍五入”到当天

delete
from MyTable
where to_date(MyColumn, 'MM/DD/YYYY') < add_months(trunc(sysdate), -1)
于 2017-04-24T13:52:56.070 回答