sql질문이 있습니다.
데이터를 조회했을때, null이나 0이 아니고
선택된 값이 아예 없을때, 임의의 값으로 select할 수 있나요?
예를 들어
select STR_DT
from aaa
where emplid = '123123'
조건에 맞는 값이 없어서 STR_DT가 안나왔을경우 '1900-01-01'이라는 값이 select 되게 하고 싶거든요..
간단한거 같은데 모르겠네요...도와주세요~
SELECT (CASE WHEN EMPLID = '123123' THEN STR_DT ELSE '1900-01-01' END) TEST
FROM AAA
-- emplid 가 Unique 하다면. 즉, 오직 한건만 조회된다면. -- MAX 값을 가져오면 됩니다. SELECT NVL(MAX(str_dt), '1990-01-01') str_dt FROM aaa WHERE emplid = '123123' ;
-- emplid 가 중복가능하다면. 여러건이 조회될 수 있다면. -- dual 과 Outer Join 하세요. SELECT NVL(str_dt, '1990-01-01') str_dt FROM aaa RIGHT OUTER JOIN dual ON emplid = '123123' ;
답변 감사합니다~
글 올려놓고
--------------------------------------
SELECT nvl((select STR_DT
where emplid = '123123') , '1900-01-01')
FROM DUAL;
---------------------------------------
이런식으로 해봤는데 조인도 있었네요~ㅎㅎ