CrashOverride 잡동사니 !!

Oracle :: NVL, DECODE 함수 본문

Tip & Tech/Database

Oracle :: NVL, DECODE 함수

CrashOverride 2009. 9. 22. 13:38

먼저 NVL은 인자로 사용된 필드가 NULL 값일 경우 지정한 다른 값으로 치환해주는
역할을 하는 함수이다.

예를 들어,
NVL(USE_YN,'N') 이라고 쓴다면, USE_YN 필드의 값이 NULL 값이면
'N' 값으로 치환한다는 의미이다.

해당 함수를 사용하는 쿼리가 SELECT인지 INSERT 또는 UPDATE 쿼리인지에 따라
지정한 값으로 치환되어 보여지거나 삽입, 수정된다.

DECODE 함수는 쉽게 말하자면 IF문과 같다.

decode(col1,
              value1, value_data1,
              value2, value_data2,
              value3, value_data3,
              ............
              last_data

'col1'의 값이 'value1' 이면 'value_data1' 이고, 'value2' 이면 'value_data2'
그리고 모든 조건에 만족하지 않는다면 'last_data'가 된다.

두 가지 함수를 아래와 같이 응용해볼 수 있다.
DECODE(NVL(USE_YN,'N'),'Y','N','Y')

USE_YN의 값이 NULL 값이면 'N'으로 치환하고, 그 값이 'Y' 이면 'Y'이고
'N' 이면 'N'이며, 이것도 저것도 아니면 'Y' 라는 결과를 내는 것이다.

출처 :: Holic's Tistory
http://holiclove.tistory.com/entry/nvl-decode

'Tip & Tech > Database' 카테고리의 다른 글

Oracle :: TRUNC() 함수  (0) 2009.09.22
Oracle :: TableSpace 용량변경  (0) 2009.09.22
Comments