-
[함수-단일행 함수]NULL관련 함수,CSAE구문SQLD/함수 2023. 8. 23. 20:15
1.NULL관련 함수
NULL관련 함수
(오라클 / SQL Server)내용 NVL/ISNULL (인수1,인수2) 인수1 = NULL → 인수2를 반환
인수1 != NULL → 인수 1을 반환
NVL(REVIEW_SCORE,0)
ISNULL(REVIEW_SCORE,0) → 리뷰 스코어가 NULL이라면 0값을 반환NULLIF(인수1,인수2) 인수1의 값이 인수2의 값과 같다면 NULL을 반환하고, 같지 않으면 인수1을 반환한다.
NULLIF(col1,1234) →col1의 값이 1234이면 NULL반환,같지 않으면 MGR반환COALESCE(인수1,인수2..) NULL이 아닌 최초의 인수를 반환한다.
COALESEC(PHONE,EMAIL,FAX)2.CASE
- CASE는 IF-THEN-ELSE논리 구성으로 표현식을 작성한다.
- CASE는 함수라기보다는 구문에 가깝고 내장함수는 아니지만 오라클의 DECODE함수와 같은 기능을 한다.
- 표현식 작성을 위한 SIMPLE_CASE_EXPRESSION과 SEARCHED_CASE_EXPRESSION이 있다.
- SELECT절 뿐만 아니라,WHERE절,PL/SQL 등에서도 사용이 가능하다.
- CASE 내부에서 내장 함수를 조건으로 사용가능하다.
표현식 특징 SIMPLE_CASE_EXPRESSION(Switch문 방식)
SELECT
CASE SUBWAY_LINE
WHEN '1' THEN 'BLUE'
WHEN '2'THEN 'GREEN'
WHEN '3'THEN 'ORANGE'
ELSE 'GRAY'
END AS lineSIMPLE_CASE_EXPRESSION은 프로그래밍의 Swith문과 비슷한 방식이다.
EQUI 조건(=)만 사용한다면 SEARCHED표현식보다 간단하게 사용 가능하다.
ELSE를 생략할 경우 NULL을 리턴한다.CASE SEARCHED_CASE_EXPRESSION(if문 방식)
SELECT
CASE WHEN SUBWAY_LINE = '1' THEN 'BLUE'
WHEN SUBWAY_LINE = '2' THEN 'GREEN'
WHEN SUBWAY_LINE = '3' THEN 'ORANGE' ELSE 'GRAY'
END AS lineCASE SEARCHED_CASE_EXPRESSION은 if문 방식처럼 사용 한다.
EQUI조건 뿐만 아니라 여러 조건(>,>=,<,<=)을 이용할 수 있다.
ELSE를 생략할 경우 NULL을 리턴한다.DECODE(else if)
DECODE(SUBWAY, '1',"BLUE','2','GREEN','3',ORANGE','GRAY')else if와 비슷한 기능을 수행.
오라클에서만 사용 가능하다.'SQLD > 함수' 카테고리의 다른 글
[함수-다중행 함수]윈도우 함수 (0) 2023.08.28 [함수-다중행 함수]그룹 함수-집계,소계 (0) 2023.08.26 [함수-단일행함수]날짜함수와 변환함수 (0) 2023.08.23 [함수-단일행함수]숫자형 함수 (0) 2023.08.23 [함수-단일행함수]문자형 함수 (0) 2023.08.22