Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- row_number
- recursive
- RANK
- Hackerrank
- 패캠챌린지
- join
- 어려웠음
- 패스트캠퍼스
- 파이썬을활용한시계열데이터분석AtoZ올인원패키지Online
- 다시풀어보기
- 프로그래머스
- 해커랭크
- 직장인자기계발
- meidum
- 프리미엄
- 직장인인강
- 패스트캠퍼스후기
- SELF-JOIN
- SQL
- MySQL
- easy
- LeetCode
- lv.4
- 시계열데이터분석
- medium
- Hard
- solvesql
- 파이썬을활용한시계열데이터분석
- group by
- HACKER_RANK
Archives
- Today
- Total
~고군분투 인생살이~
[MySQL] IFNULL과 COALSECE의 차이 본문
MySQL에서 Null값을 처리하기 위해 사용되는 함수는 IFNULL, COALESCE 함수가 있다.
(조건문인 CASE와 IF 함수는 여기서 논하지 않습니다)
이 둘의 차이점은 무엇일까 ?
=> check할 수 있는 argument 갯수에 차이가 있다 (사용 방법에 차이가 있음)
=> COALSECE는 SQL 표준 함수이고, IFNULL은 MySQL에서만 사용이 가능하다
IFNULL(val, x) -- single argument
-> val 값이 null이면 x를 반환하고, null이 아니면 val을 그대로 반환한다
COALSECE (val1, val2, val3...) -- multiple(N) argument
-> val1 값이 null이면 val2를 반환, val2도 null이면 val3를 반환한다.
val1 값이 null이면 val2를 반환, val2값이 null이 아니면 val2를 그대로 반환한다.
예시를 한 번 살펴보자...
SELECT IFNULL('some value', 'some other value');
-> returns 'some value'
SELECT IFNULL(NULL,'some other value');
-> returns 'some other value'
SELECT COALESCE(NULL, 'some other value');
-> returns 'some other value' - equivalent of the IFNULL function
SELECT COALESCE(NULL, 'some value', 'some other value');
-> returns 'some value'
SELECT COALESCE(NULL, NULL, NULL, NULL, 'first non-null value');
-> returns 'first non-null value'
정리하자면..
COALSECE
- SQL 표준 함수 (이에 더 유연하고 표준 함수에 속하는 coalesce 함수를 사용하는 것을 추천함)
- multiple argument를 처리할 수 있다
IFNULL
- MySQL에서만 고유한 기능 (MSSQL의 ISNULL과 동일하다)
- single argument를 처리할 수 있다.
'SQL > 개념' 카테고리의 다른 글
[MySQL] 정규표현식, REGEXP (0) | 2022.07.14 |
---|---|
[MySQL] JOIN 관련 정리 (0) | 2022.07.13 |
[MySQL] CROSS-JOIN (0) | 2022.07.04 |
[MySQL] DATETIME 형식에서 특정 기간을 조회할 때 (0) | 2022.07.01 |
[SQL 개념] Driving Table, Driven Table이란? (0) | 2022.06.29 |
Comments