본문 바로가기

DB

[MySQL] NULL

NULL

: 정의되지 않은 값. 아예 값이 없는 것.

 

Oracle과 MySQL에서는 NULL을 가장 큰 값으로 간주한다.

MySQL에서 NULL을 제일 앞으로 보내고 싶을때는 정렬을 두번 해주면 된다.

(null인 값 먼저 정렬 후 나머지 정렬하는 식으로)

select *
from table_1
order by user_id is null desc, user_id desc;

 

NULL  연산

: NULL 값을 포함한 연산은 결과값도 NULL 이다.

 

NULL 선택

: NULL은 존재하지 않는 값이기 때문에 부등호 사용 불가. is null/ is not null을 사용한다.

 

NULL 함수

IFNULL(expr1, expr2) expr1이 null인 경우 expr2를 반환하며 그렇지 않은 경우 expr1을 반환한다.
NVL2(expr1, expr2, expr3) expr1이 null인경우 expr2를, 그렇지 않은 경우 expr3을 반환한다.
NULLIF(expr1, expr2) 두 표현식을 비교하여 동일한 경우 null을 반환하고 동일하지 않은 경우 첫번째 식을 반환한다. 수 타입이 아닐 경우 에러가 난다.
COALESCE(expr1, expr2,...,exprn) 표현식 목록에서 null이 아닌 첫번째 표현식을 반환한다.