null값이어도 시스템날짜는 구하고 싶습니다. 0 3 1,772

by 백수마적 [Oracle 기초] 시스템날짜 [2011.12.21 20:04:52]


다음 쿼리를 실행하면,
SELECT  ename,
        TO_CHAR(sysdate, 'yyyymmdd') AS sdate
FROM    emp
WHERE   empno   = ''7369'

-- 결과
ename    sdate
SMITH    20111221

입니다.

그런데 empno를 emp 테이블에 있지 않은 값을 넣거나,

null이 주어지더라도 sdate는 보고 싶다면 어찌 해야 할까요?
by 제로 [2011.12.22 08:56:55]
SELECT min(ename) AS ename
, to_char(nvl(min(sysdate), sysdate), 'yyyymmdd') AS sdate
FROM emp
WHERE empno = 0

by 마농 [2011.12.22 08:59:47]
1. dual 과 아우터 조인하세요.
2. empno 는 숫자컬럼입니다. 조건주실때 따옴표 빼세요.

SELECT ename
, TO_CHAR(sysdate, 'yyyymmdd') AS sdate
FROM emp
RIGHT OUTER JOIN dual
ON empno = 7369
;

by 백수마적 [2011.12.22 11:05:19]
정말 감사합니다. 아우터 조인을 생각 못했었네요.
기온이 뚝뚝 떨어지는데 감기 조심하세요 ^^;
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입