在Oracle中,我有一个DB_FLD_4
定义为VARCHAR2(20 BYTE)
的表,但实际上保存DATE信息,如下所示:
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
请帮助操作格式以使其成为可能。
非常感谢!!!
答案 0 :(得分:1)
在列上使用to_date()
,然后将sysdate截断为" round"到了那一天
delete
from MyTable
where to_date(MyColumn, 'MM/DD/YYYY') < add_months(trunc(sysdate), -1)