Data/MySQL

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

prinha 2020. 12. 15. 13:19
728x90
반응형

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;

 

728x90
반응형