인라인뷰를 이용해 쿼리를 간략화 할 필요가 있네요.
반복 사용되는 복호화 함수 부분도 한번만 수행하도록 하는 효과도 있구요.
그러러면 인라인뷰가 뷰머징되는 것을 방지해야합니다.
뷰머징 방지용으로 Rownum 을 사용했습니다.
SELECT SUBSTR(x, 1, 4) ||'. '|| SUBSTR(x, 5, 2) ||'. '|| SUBSTR(x, 7, 2) ||'.' AS ymd FROM (SELECT DECODE(LENGTH(x), 8, x , DECODE(SUBSTR(x, 7, 1), '3', '20', '4', '20', '19') || x ) x FROM (SELECT ROWNUM rn, DEC_B64(B.RES_NO) x FROM b) ) ;