我可以采用下面的SELECT,将24小时的谬误排除在外,用00小时替换它,然后在TRUNC(SYSDATE-90)和TRUNC(SYSDATE)之间运行WHERE TRUNC(TO_DATE(FIX_DATETIME,'MMDDYYHH24MISS'))?可以一次完成吗?如果是这样,无论是通过还是更多,怎么样?非常感谢您的帮助,并且您的技能水平得到尊重.
SELECT MOPACTIVITY.MOPID,
(CASE
WHEN SUBSTR(MOPACTIVITY.MOPID, 7, 2) = '24' THEN SUBSTR(MOPACTIVITY.MOPID, 1, 2)||SUBSTR(MOPACTIVITY.MOPID, 3, 2)||SUBSTR(MOPACTIVITY.MOPID, 5, 2)||'00'||SUBSTR(MOPACTIVITY.MOPID, 9, 2)||SUBSTR(MOPACTIVITY.MOPID, 11, 2)
ELSE MOPACTIVITY.MOPID
END ) FIX_DATETIME,
sysdate "SYSDATE"
FROM MOPUSER.MOPACTIVITY
Run Code Online (Sandbox Code Playgroud)