안녕하세요.
좀 이해가 안되는 경우가 있어서 이렇게 문의 드립니다.
오라클 버전은 ORA8i 입니다. (좀 회사가 구식이라....)
테이블은 ABC 이고 BuyDt , GainOcurEndDt둘다 char 8 자리입니다. default 로 '' 이고요..
현재 BuyDt라는 컬럼에는 NULL값이 들어가 있습니다. GainOcurEndDt이컬럼은 값이 들어가 있고요..
0) 8 버전이라 ..NVL2함수 테스트
SELECT NVL2(LTRIM(RTRIM(A.BuyDt)) , 'AAA', 'BBB')
FROM ABC A
WHERE A.GjNo = '00101118476'
AND A.PayDt = '20010818'
결과) BBB
1)
SELECT NVL2(LTRIM(RTRIM(A.GainOcurEndDt)) ,to_char(to_date(A.GainOcurEndDt),'yyyy/mm/dd') , ' ')
FROM ABC A
WHERE A.GjNo = '00101118476'
AND A.PayDt = '20010818'
결과) 2001/06/10
2)
SELECT NVL2(LTRIM(RTRIM(A.BuyDt)) ,to_char(to_date(A.BuyDt),'yyyy/mm/dd') , ' ')
FROM ABC A
WHERE A.GjNo = '00101118476'
AND A.PayDt = '20010818'
결과 ORA-01841 에러를 빵 띠웁니다.
2번 같은 경우 그 이류를 모르겠습니다.
고수님들 가르쳐 주시면 감사하겠습니다.