개발/데이터베이스

[PostgreSQL] CASE 함수 / COALSECE 함수 / NULLIF 함수

고등어찌짐 2022. 4. 11. 00:30

 

  • CASE : 조건문 함수 
CASE 
      WHEN condition_1  THEN result_1
      WHEN condition_2  THEN result_2
      [WHEN ...]
      [ELSE else_result]
END
SELECT food_name
    CASE
        WHEN rate >= 3 THEN 'good'
        WHEN rate < 3 THEN 'bad'
    END menu_grade
FROM menu;

 

  • COALSECE : null 이 아닌 첫번째 매개변수 값을 리턴하는 함수 
COALESCE (argument_1, argument_2, …);
SELECT food_name, COALESCE (rate, 0) AS new_rate
FROM menu

 

  • NULLIF : 값1과 값2가 같으면 NULL 을 리턴하고, 다르면 값1을 리턴하는 함수 
NULLIF(argument_1,argument_2);
SELECT food_name, COALESCE(NULLIF(rate, -1)::char, '평가 데이터 없음') AS description
FROM menu;

 

 

 

#참조

https://my-brain.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F# 

https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-coalesce/
https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-nullif/