본문 바로가기

DataBase

[SQL] NULL 관련 함수

NVL, ISNULL, IFNULL

NVL은 오라클 문법이고, ISNULL은 MS-SQL, IFNULL은 MY-SQL 문법이다. 기능은 모두 같다.

-- SQL
NVL(job, 0)
-- MS SQL
ISNULL(salary, 0)
-- MY SQL
IFNULL(expr1, expr2)

모두 표현식을 두개 받은 뒤 첫번째 받은 값이 NULL이라면 두번째 받은 값을 반환하고 아니라면 그대로 첫번째 값으로 사용된다. ( 첫번째 값이 NULL이면 두번째 값 사용, NULL이 아니면 첫번째 값 사용 )


NULLIF

nullif 역시 NULL과 관련된 기능으로, 두개의 값을 받아서 첫번째 값이 두번째 값과 같다면 NULL을 반환하고, 같지 않다면 첫번째 값을 반환한다.

nullif('oracle','oracle) -> null
nullif('sql','oracle') -> sql

COALESCE

세번째 NULL관련 기능은 coalesce이다. 기능은 여러 값을 받은 뒤 첫번째 값부터 확인을 하여 NULL이 아닌 값을 만났을때 그 값을 반환한다.

coalesce('A','B',null) -> A
coalesce(null,'B','C') -> B

'DataBase' 카테고리의 다른 글

[SQL] Join  (0) 2023.03.20
[SQL] CASE WHEN THEN END  (0) 2023.03.20
TOP, LIMIT, ROWNUM  (0) 2023.03.20
MySQL Foregin Key 설정  (0) 2023.03.20
SQL Constraints  (0) 2023.03.20