본문 바로가기
Data/MySQL

[MySQL] NULL을 다른 값으로 변환하는 함수

by prinha 2020. 12. 15.
반응형

COALESCE() 

MS SQL에서 IFNULL(컬럼, 0) 컬럼값이 null이면, 0을 넣는 함수가 있다.

MySQL에서는 COALESCE(컬럼, 0)을 이용해서 null이면, 0을 넣는 함수를 사용한다.

 

1) COALESCE(컬럼,0)

SELECT 
    COALESCE(height, '###'),
    COALESCE(weight, '---'),
    COALESCE(address, '@@@')
FROM copang_main.member;

 

 

2) COALESCE(컬럼1, 컬럼2, 0)

컬럼1이 NULL이면 컬럼2값을 넣고, 컬럼2값이 NULL이면 0을 넣는다.

SELECT COALESCE(height, weight * 2.3, 'N/A') FROM copang_main.member;

IFNULL(컬럼,0)

첫번째 인자가 NULL인 경우에는 두번째 인자를 표시하고, NULL이 아니면 해당 값을 그대로 표시한다.

 

SELECT IFNULL(height,'N/A') FROM copang_main.member;

IF(조건식, 두번째 인자, 세번째 인자)

조건식의 결과가 TRUE면 두번째 인자를 리턴하고, FALSE라면 세번째 인자를 리턴한다.

SELECT IF(height IS NOT NULL, height, 'N/A') FROM copang_main.member;

CASE()

SELECT
	CASE
		WHEN height IS NOT NULL THEN height
		ELSE 'N/A'
	END
FROM copang_main.member;

 

반응형