본문 바로가기
SQL

[SQL] NULL 관련 함수(NULLIF, COALESCE,) 및 문자열 치환(REPLACE)

by 옥돔이와 연근이 2025. 3. 28.
728x90
반응형

MySQL

 

📍  NULL 관련 함수

 

NULL은 데이터베이스에서 값이 존재하지 않음을 의미한다. MySQL에서 NULL 값을 다루기 위해 다양한 함수들이 제공되며, 주요 함수는 다음과 같다.

1.1 COALESCE()

  • COALESCE()는 여러 인자 중에서 첫 번째로 NULL이 아닌 값을 반환
  • 여러 값 중에서 NULL 값이 있을 때 대체 값을 지정하는 데 유용
SELECT COALESCE(NULL, '값이 없습니다', '기본값') AS 결과;

 

1.2 IFNULL()

  • IFNULL() 함수는 두 개의 인자를 받아, 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환
  • NULL 값을 특정 값으로 대체할 때 유용
SELECT IFNULL(NULL, '대체 값') AS 결과;

 

1.3 NULLIF()

  • NULLIF()는 두 개의 인자를 비교하여 값이 같으면 NULL을 반환하고, 그렇지 않으면 첫 번째 인자를 반환
  • 두 값이 동일한지 확인하고, 동일하다면 NULL로 처리하고 싶을 때 사용
SELECT NULLIF(5, 5) AS 결과, NULLIF(5, 10) AS 결과2;

결과: NULL
결과2: 5
→ 두 값이 같으므로 첫 번째는 NULL, 두 값이 다르면 첫 번째 값이 그대로 반환

 

 


 

📍 문자열 치환 함수

MySQL에서 문자열을 치환하거나 대체할 때 사용할 수 있는 함수로는 REPLACE()가 대표적

 

2.1 REPLACE()

  • REPLACE() 함수는 문자열 내에서 특정 문자열을 다른 문자열로 대체
  • 기존 문자열에서 원하는 부분만을 변경할 때 사용
SELECT REPLACE('Hello World', 'World', 'MySQL') AS 결과;

 

 


 

 

− NULL 문자열 치환을 동시에 사용하는 예제

SELECT REPLACE(IFNULL(NULL, '대체 값'), '값', '데이터') AS 결과;

결과:
대체 데이터→ NULL을 '대체 값'으로 대체한 후, '값'이라는 단어를 '데이터'로 치환

 

 

📝 관련 문제 풀기 

 

 

 

728x90

'SQL' 카테고리의 다른 글

[MySQL] group by :: n개의 컬럼 사용법  (0) 2025.03.31
[MySQL] group by :: n개의 컬럼 사용법  (0) 2025.03.28