☞ 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() |
☞ |
|
|
|