NULLIF 함수
NULLIF 함수는 두 개의 인수를 비교하여 두 값이 같으면 NULL을 반환하고, 다르면 첫 번째 인수의 값을 반환합니다. 주로 두 값이 같을 때 NULL 값을 반환해야 하는 상황에 사용됩니다.
구문:
NULLIF(expression1, expression2)
예제:
SELECT NULLIF(10, 10) AS result; -- 결과: NULL
SELECT NULLIF(20, 10) AS result; -- 결과: 20
SELECT NULLIF('hello', 'hello') AS result; -- 결과: NULL
SELECT NULLIF('world', 'hello') AS result; -- 결과: 'world'
IFNULL 함수
IFNULL 함수는 첫 번째 인수가 NULL이 아니면 첫 번째 인수의 값을 반환하고, 첫 번째 인수가 NULL이면 두 번째 인수의 값을 반환합니다. 주로 NULL 값을 다른 값으로 대체할 때 사용됩니다.
구문:
IFNULL(expression1, expression2)
예제:
SELECT IFNULL(10, 100) AS result; -- 결과: 10
SELECT IFNULL(NULL, 100) AS result; -- 결과: 100
SELECT IFNULL('hello', 'world') AS result; -- 결과: 'hello'
SELECT IFNULL(NULL, 'world') AS result; -- 결과: 'world'
NULLIF와 IFNULL 함수는 NULL 값을 처리하거나 대체하는데 유용한 함수들입니다. NULLIF는 두 값이 같을 때 NULL을 반환하며, IFNULL은 첫 번째 인수가 NULL이면 두 번째 인수로 대체합니다. 이를 활용하여 SQL 쿼리에서 NULL 값을 적절하게 다룰 수 있습니다.
COALESCE 함수
COALESCE 함수는 인수들 중에서 첫 번째로 나타나는 NON-NULL 값을 반환합니다. 인수들을 왼쪽에서 오른쪽 순서대로 검사하며, NON-NULL 값을 발견하면 해당 값을 반환하고 검사를 종료합니다. 모든 인수가 NULL인 경우 NULL을 반환합니다.
구문:
COALESCE(expression1, expression2, ..., expressionN)
예제:
SELECT COALESCE(NULL, 10, 20) AS result; -- 결과: 10
SELECT COALESCE(NULL, NULL, 'hello') AS result; -- 결과: 'hello'
SELECT COALESCE(NULL, NULL, NULL) AS result; -- 결과: NULL
NULLIFNULL 함수:
NULLIFNULL 함수는 두 개의 인수를 비교하여 두 값이 모두 NULL인 경우 NULL을 반환하고, 그렇지 않으면 첫 번째 인수의 값을 반환합니다. 주로 두 값이 모두 NULL인 경우 NULL 값을 반환해야 하는 상황에 사용됩니다.
구문:
NULLIFNULL(expression1, expression2)
예제:
SELECT NULLIFNULL(NULL, NULL) AS result; -- 결과: NULL
SELECT NULLIFNULL(NULL, 10) AS result; -- 결과: 10
SELECT NULLIFNULL(20, NULL) AS result; -- 결과: 20
SELECT NULLIFNULL(30, 40) AS result; -- 결과: 30
IF 함수:
IF 함수는 조건식을 평가하여 조건이 참이면 두 번째 인수의 값을, 조건이 거짓이면 세 번째 인수의 값을 반환합니다. 한 가지 차이점은 IF 함수는 NULL 값을 포함한 모든 값을 다룰 수 있지만, IFNULL은 첫 번째 인수가 NULL인 경우에만 두 번째 인수로 대체합니다.
구문:
IF(condition, value_if_true, value_if_false)
예제:
SELECT IF(1 = 1, 'true', 'false') AS result; -- 결과: 'true'
SELECT IF(1 = 2, 'true', 'false') AS result; -- 결과: 'false'
SELECT IF(10 > 5, 100, NULL) AS result; -- 결과: 100
SELECT IF(10 < 5, 100, NULL) AS result; -- 결과: NULL
위의 함수들은 모두 NULL 값을 다루거나 대체하는데 유용한 함수들입니다. 각 함수들은 특정 상황에서 적합하게 사용될 수 있으며, SQL 쿼리에서 NULL 값을 처리하는 데 도움을 줍니다.
해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.
'Big Data > Database' 카테고리의 다른 글
서브쿼리를 이용한 뷰 생성 및 사용 예제 (0) | 2023.07.26 |
---|---|
GROUP BY와 ROLL UP (0) | 2023.07.26 |
NULL과 연산 (0) | 2023.07.26 |
서브쿼리의 유형 (0) | 2023.07.25 |
식별관계, 비식별관계 (0) | 2023.07.24 |