[ 기타 함수 ]

 

☞ NVL

 

1. NULL값을 특정한 값으로 전환
2. 사용예) SELECT  NVL('', 'NULL') FROM DUAL;
     결과) NULL  
  

☞ NVL2

 

1. 정의 : 기준값이 NULL일 경우, NULL이 아닐 경우 특정하게 치환
2. 사용예)
SELECT  NVL2('KIM YONG HAK', '널아님', '널임') FROM DUAL;
     결과) 널아님

☞ NULLIF

 

1. 정의 : 두값을 비교하여 같으면 NULL을 돌려주고, 다르면 첫 번째 인자값을 돌려주는 함수
2. 사용예) 
SELECT  NULLIF('kim', 'YONG') FROM DUAL;
     결과)  kim
   사용예) 
SELECT  NULLIF('kim', 'kim') FROM DUAL;
     결과)  

☞ COALESCE  

 

1. 정의 : NVL함수를 일반화한 것이다.
          여러 행중에서 첫 번째인자가 NULL이 아니면 첫 번째값을
                        첫 번째인자가 NULL이면      두 번째값을
                        첫 번째, 두 번째인자 모두 NULL이면 세 번째 값을 돌려주는 함수
2. 형식 :
COALESCE(첫번째값, 두번째값, 세번째값)  
3.   문제) 사원급여가 존재시 사원급여를,  사원급여가 null이면 기본급을, 둘다 null이면 100만원을
           RETURN시켜라  
   사용예)
SELECT  COALESCE(PAY_MON, BASE_MON, 1000000) FROM 급여_TABLE ;
     결과)  
4. 참고)
COALESCE(expr1,expr2,expr3,…)
       =
CASE WHEN expr1 IS NOT NULL
              
THEN expr1
              
ELSE COALESCE(expr2,expr3,…)
         
END;


☞ DECODE

 

1. 정의 : 값을 =(equal)로 비교하여 해당값하고 같을 경우 해당값을 RETURN
2. 사용예)
SELECT  DECODE('KIM', 'KIM', '성씨', '이름') FROM DUAL;
     결과) 성씨    

☞ CASE

 

1. 정의 : 값을 =(equal), LIKE, <> 등 비교 연산을 하여 치환값을 RETURN
2. 사용예)
SELECT  CASE WHEN  직위  like '%부장%' THEN 기본급 * 1.5%
                        
WHEN  직위  like '%차장%' THEN 기본급 * 1.3%
                        
WHEN  직위  like '%과장%' THEN 기본급 * 1.2%
                        
ELSE  기본급
           
FROM 급여_TABLE ;
     결과) 

☞ RANK() OVER

 

1. 정의 : 순위를 구하는 함수
2. 형식1: 
RANK() OVER  (ORDER BY 컬럼1 ) 
          - 컬럼1을 기준으로 ORDER BY 후 순위가 부여된다.
   형식2:
RANK() OVER  ([PARTITION BY 컬럼1] ORDER BY 컬럼2) 
          - 컬럼1을 기준으로 GROUP 하고 컬럼2로 ORDER BY 후 순위가 부여 된다.
            그래서 컬럼1별로 순위가 부여 된다.
            즉, 만약, 부서별로 급여 순위를 부여하고 싶을 경우 아래와 같다.

3. 사용예)
SELECT  RANK() OVER (PARTITION BY 부서 ORDER BY 급여액 DESC)
           
FROM    급여_TABLE ;
     결과)  

☞ 

 

1.


☞ 전각을 반각으로 변환

 

1. 정의 : HOST에서 사용하는 전각문자를 WIN에서 사용하는 반각문자로 변환
2. 형식 :
TO_SINGLE_BYTE()

☞ 반각을 전각으로 변환

 

1. 정의 : HOST에서 사용하는 전각문자를 WIN에서 사용하는 반각문자로 변환
2. 형식 :
TO_MULTI_BYTE()

   


☞ 시한편
 

내용 입력








 

 

'(DB) Oracle > 함수' 카테고리의 다른 글

Oracle - 날짜형 실전예제  (0) 2017.01.18
Oracle - 분석용 함수  (0) 2017.01.18
Oracle - 그룹 함수  (0) 2017.01.18
Oracle - 변환함수  (0) 2017.01.18
Oracle - 날짜형함수  (0) 2017.01.18
Posted by 농부지기
,