[데이터베이스] COALESCE 함수와 IFNULL 함수

Narcoker·2024년 7월 9일
0

데이터베이스

목록 보기
17/17
post-custom-banner

요약

  • MYSQL 함수
  • COALESCE는 여러 인자를 받을 수 있고, 첫 번째로 NULL이 아닌 값을 반환한다.
  • IFNULL은 두 개의 인자만 받으며, 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환한다.

COALESCE 함수

COALESCE 함수는 첫 번째로 NULL이 아닌 값을 반환한다.
여러 개의 인자를 받을 수 있다.

SELECT PT_NAME, PT_NO, GEND_CD, AGE, COALESCE(TLNO, 'NONE') AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;

IFNULL 함수

IFNULL 함수는 두 개의 인자를 받아 첫 번째 인자가 NULL일 경우 두 번째 인자를 반환한다.
두 개의 인자만 받을 수 있다.

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;

성능 차이

COALESCE

  • 여러 인자를 받을 수 있기 때문에, 인자의 수가 많아질수록 성능에 약간의 영향을 줄 수 있다.
  • 일반적으로 IFNULL보다 조금 더 복잡한 연산을 포함하므로, 성능이 미세하게 떨어질 수 있다.

IFNULL

  • 두 개의 인자만을 비교하기 때문에 비교적 간단한 연산이다.
  • 특정 DBMS에서 IFNULL이 최적화되어 있는 경우, 약간 더 빠를 수 있다.
  • 단순한 NULL 대체 연산에서는 COALESCE보다 효율적일 수 있다.
profile
열정, 끈기, 집념의 Frontend Developer
post-custom-banner

0개의 댓글