ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [함수-단일행 함수]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 line
    SIMPLE_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 line
    CASE SEARCHED_CASE_EXPRESSION은 if문 방식처럼 사용 한다.
    EQUI조건 뿐만 아니라 여러 조건(>,>=,<,<=)을 이용할 수 있다.
    ELSE를 생략할 경우 NULL을 리턴한다.
    DECODE(else if)
    DECODE(SUBWAY, '1',"BLUE','2','GREEN','3',ORANGE','GRAY')

    else if와 비슷한 기능을 수행.
    오라클에서만 사용 가능하다. 

     

Designed by Tistory.