Попытка получить самую последнюю дату из двух разных таблиц с разными форматами.
INSERT INTO TEMPDATETABLE
SELECT T.SORDEGR_DEGC_DATE,
G.SHRDGMR_TERM_CODE_GRAD,
G.SHRDGMR_GRAD_DATE,
T.SORDEGR_DEGC_CODE,
G.SHRDGMR_DEGS_CODE,
T.SORDEGR_SBGI_CODE,
S.SORBCHR_SBGI_CODE,
P.SPRIDEN_PIDM
FROM SORDEGR T, SHRDEGR G, SPRIDEN P, SORBCHR S
WHERE P.SPRIDEN_PIDM = T.SORDEGR_PIDM
AND P.SPRIDEN_PIDM = G.SHRDGMR_PIDM
AND P.SPRIDEN_CHANGE_IND IS NULL
AND T.SORDEGR_DEGC_DATE IS NOT NULL
AND G.SHRDGMR_GRAD_DATE IS NOT NULL
AND SUBSTR(G.SHRDGMR_DEGC_CODE, 1, 1) NOT IN ('A', 'C')
AND G.SHRDGMR_DEGS_CODE = 'AW'
AND ((SUBSTR(T.SORDEGR_DEGC_CODE, 1, 1) NOT IN ('A', 'U', '0'))
AND EXISTS
(SELECT 'X'
FROM SORBCHR S
WHERE T.SORDEGR_SBGI_CODE = S.SORBCHR_SBGI_CODE
AND S.SORBCHR_BCHR_CODE IN ('U', 'C')))
SELECT TO_CHAR(MAX(SORDEGR_DEGC_DATE), 'YYYYMM') AS DEGDATE1,
MAX(SHRDGMR_TERM_CODE_GRAD) AS DEGDATE2
CASE DEGDATE
WHEN DEGDATE1 > DEGDATE2 THEN DEGDATE;
WHEN DEGDATE2 > DEGDATE1 THEN DEGDATE;
ELSE NULL;
END CASE;
FROM TEMPDATETABLE
WHERE SPRIDEN_PIDM =
В надежде, что оператор CASE предоставит самую последнюю дату, но получит ORA-00933 (команда SQL неправильно завершилась) на2-й ВЫБОР.