AND NVL(?, 1) 에서 1이 의미하는것이? 0 5 2,012

by 유일 [2009.09.29 13:31:55]



NVL(NULL, 1) 이게 널일경우 1로 치환하라는건데
저기에 숫자를대입해보니깐 100까지는 똑같이나오고 1000은 이상하게나와요 이거왜그런거죠?
아니 1이 의미하는게 뭐죠 정확히? ^^;

by 호야 [2009.09.29 13:35:26]
참인데요^ㅡ^;

by 유일 [2009.09.29 13:40:49]
그럼 저게 조건문으로 들어갈경우 참인건가요?
1에서 100까지는 전부 참인건가요???

by 호야 [2009.09.29 13:43:51]
nvl(컬럼명,치환문자)
구성이 됩니다. 즉, 컬럼에 어떠한 값이 없을 경우 특정 값을 넣으라는 건데요
AND NVL(NULL,1) =<> 컬럼 OR 값
이 들어 가는 형식으로 쉽게 생각해서,

컬럼
-----
바보
멍청이

가 있을 경우

NVL(컬럼1,'바보) = 대입컬럼

되었을 컬럼1의 값이 비워 있으면 바보와 연결이 되어 참이 되게 하는거죠

by 유일 [2009.09.29 13:50:59]
자꾸 여쭤봐서 죄송한대요 ^^;;;
저역시도 맞는말인데 NVL(컬럼명칭, 1) 할경우 컬럼명칭이 null일경우
이문장에 WHERE절에 있으면 무조건 참이되는건가해서요..

그리구 다른 한가지는 1부터 100까지 전부다 같은 인식을하던데
오라클에서 참의범위가 1에서 100까지인지도 궁금하네요..
101 이후부터는 안먹드라구요.

by 마농 [2009.10.05 13:36:00]
NVL(NULL, 1) 이 조건절에서 어떻게 쓰이냐에 따라 결과가 달라지겠죠.
그냥 NVL(NULL, 1) 자체로는 조건절로 쓰이지 못합니다.
비교연산자 또는 다른 함수등과 함께 쓰여야만 됩니다.
다음과 같이 쓰이겠죠...
AND NVL(컬럼, 1) <= 100
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입