【发布时间】:2021-05-19 15:05:47
【问题描述】:
DELETE FROM HERAPERM.SCRUBLITST WHERE COALESCE(ODUDAT, ODCDAT,
CASE
WHEN ODUDAT <> ' ' THEN SUBSTR(ODUDAT, 1, 2) || SUBSTR(ODUDAT, 3, 2) || SUBSTR(ODUDAT, 5, 2)
ELSE SUBSTR(ODCDAT, 1, 2) || SUBSTR(ODCDAT, 3, 2) || SUBSTR(ODCDAT, 5, 2)
END) > TO_CHAR(CURRENT_DATE - 2 MONTHS, 'MMDDYY');
ODUDAT 最后一次使用。第二个日期是 ODCDAT,它是创建日期。数据格式为 MMDDYY。我需要删除上次使用日期超过两个月的行。如果文件是在过去两个月内创建但未使用,则需要将其保留在文件中。该文件包含 6893 行。当我使用上述内容时,我得到 553 行。它从 ODUDAT 中删除旧项目,但不触及 ODCDAT。我不知道为什么它忽略了 ODCDAT。 样本数据
A210407001 *FILE DDMF 040821 BYOD_00003 *FILE PF 021521 021621 DPI2194LO1 *FILE LF 041221 DPI2194LO2 *FILE LF 041221 DSLAMPORT1 *FILE PF 021521 021521 FIXPHYADR1 *FILE LF 042021 –
【问题讨论】:
-
不..我添加了案例。我试图弄清楚如何删除另一个,但可以看到但没有回答,所以不知道该怎么做。另外,一个帮助我的人给了我信息以便更好地提交,以免造成混淆。