SQL

[PostgreSQL] NULL 값 대체하기 - COALESCE

oduu 2021. 8. 24. 21:40

 

 

 

NULL 값 대체하기 - COALESCE

 

 

 

 

 

MySQL에서 IFNULL을 이용해서 NULL 값을 대체해 줄 수 있습니다.

하지만 PostgreSQL에서는 IFNULL이 아닌 COALESCE 을 이용해 NULL 값을 다른 값으로 채워줄 수 있습니다. 

 

 

 

 

 

WITH문을 이용해서 임시로 음료의 이름과 가격에 대한 정보를 담고 있는 menu 라는 테이블을 만들어 주었습니다. 

Caffe Mocha의 음료값은 NULL 값으로 하였습니다. 

WITH menu AS (
	SELECT 'Americano' AS menu, 4100 AS price
	UNION
	SELECT 'Cappuccino' AS menu, 4600 AS price
	UNION
	SELECT 'Caffe Mocha' AS menu, null AS price)
SELECT *
FROM menu

 

 

 

 

 

 

이제 COALESCE 를 이용하여 칼럼의 NULL 값을 지정한 값으로 채워보겠습니다. 

COALESCE(칼럼명, 대체할 값)
WITH menu AS (
	SELECT 'Americano' AS menu, 4100 AS price
	UNION
	SELECT 'Cappuccino' AS menu, 4600 AS price
	UNION
	SELECT 'Caffe Mocha' AS menu, null AS price)
SELECT menu, COALESCE(price, 5100) AS price
FROM menu

 

 

 

NULL 값이었던 Caffe Mocha의 price가 COALESCE(price, 5100)로 인해 5,100으로 잘 대체된 것을 확인할 수 있습니다. 

이처럼 COALESCE를 이용하면 특정 column의 NULL 값을 지정한 값으로 대체해 줄 수 있습니다. 

 

 

 

 

 

 

https://www.postgresqltutorial.com

 

PostgreSQL Tutorial - Learn PostgreSQL from Scratch

Welcome to the PostgreSQLTutorial.com website! This PostgreSQL tutorial helps you understand PostgreSQL quickly. You’ll master PostgreSQL very fast through many practical examples and apply the knowledge in developing applications using PostgreSQL. If yo

www.postgresqltutorial.com