AND C.UPDATE_DT=DECODE(TRIM(C.UPDATE_DT),NULL,'N','Y')
이2가지 문장이 조건절에 쓰였을때 같은 의미일까요?
갑자기 궁금...
by 마농
[2009.08.17 17:55:13]
첫번째는 update_dt = 'Y' 를 찾는 건이죠.
'Y ', ' Y', ' Y '을 포함하여 앞뒤공백두개이상도 조회되구요.
두번째는 공백이 없는 순수 'Y'만 찾는 것이죠.
다만 두 쿼리의 차이점을 분석하기 보다는 원하는 결과를 얻어내기 위한 최적의 쿼리가 무었인지를 고민하는게 좋을 것 같습니다.
만약 데이터에 공백이 포함될리가 없다면
update_dt = 'Y'
이것이 최적입니다. 쓸모없는 부분은 과감하게 버리시는게 좋습니다.
by 러드
[2009.08.17 18:13:32]
이럴때는 TRIM(NVL2( C.UPDATE_DT, 'Y', 'N')) 이렇게 사용해도!!!
NVL2 -> 9I부터인가??/
암튼 NULL 아니면 Y NULL이면 N 일꺼에요^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.