반응형
2022.02.13 - [database] - [SQLD] 단일행 함수, 다중행 함수
NULL의 특성
- 널 값은 아직 정의되지 않은 값으로 0 또는 공백과 다르다. 0은 숫자이고 , 공백은 하나의 문자이다.
- 테이블을 생성할 때 NOT NULL 또는 PRIMARY KEY로 정의되지 않은 모든 데이터 유형은 널 값을 포함할 수 있다.
- 널 값을 포함하는 연산의 경우 결과 값도 널 값이다.
(NULL + 2 / 2 + NULL , NULL -2 / 2 - NULL, NULL * 2 / 2 * NULL, NULL /2 / 2 / NULL 의 결과값 모두 NULL이다.)
- 결과값을 NULL이 아닌 다른 값을 얻고자 할 때 NVL/ISNULL 함수를 사용한다. NULL 값의 대상이 숫자 유형 데이터인 경우는 주로 0(Zero)으로, 문자 유형 데이터인 경우는 블랭크보다는 'x' 같이 해당 시스템에서 의미없는 문자로 바꾸는 경우가 많다.
단일행 NULL 관련 함수의 종류
일반형 함수 | 함수 설명 |
NVL(표현식1, 표현식2) ISNULL(표현식1, 표현식2) |
표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다. 단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다. NULL 관련 가장 많이 사용되는 함수이므로 상당히 중요하다. |
NULLIF(표현식1, 표현식2) | 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴한다. |
COALESCE(표현식1, 표현식2, ...) | 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 리턴한다. |
반응형
'database > SQLD' 카테고리의 다른 글
[SQLD] 그룹함수 (ROLLUP, CUBE, GROUPING SETS) (0) | 2022.03.18 |
---|---|
[SQLD] 단일행 함수, 다중행 함수 (0) | 2022.02.13 |
[SQLD] 반정규화(Denormalization) (0) | 2022.02.11 |
[SQLD] 정규화(Normalization) (0) | 2022.02.11 |
[SQLD] 식별자 (0) | 2022.02.11 |
댓글