반응형
SMALL
대체값으로 NULL값 제거(인수가 두개인 경우)
nvl은 null value의 약자이다.
아래 문법은 null value~? if null~? is null~?
그게 널이야? 널이면 널이고 아니면 널로 바꾸자!
라고 외우면 된다.
ORACLE: NVL(col1,100)
MYSQL : IFNULL(col1,100)
MSSQL : ISNULL(col1,100)
--(단, = NULL과 같은 연산자 사용 X)
col1이 null이면 100.
대체값으로 NULL값 제거(인수가 세개인 경우)
마찬가지로 null value~?
NVL2(col1,100,200)
col1이 null이 아니면 100 null이면 200.
비교해서 같으면 NULL값으로 처리
이번엔 명령문이다.
null 로 바꿔 if ~ 라면
NULLIF(v1,v2)
v1과 v2이 다르면 v1, 같으면 null.
NULL 이 아닌 최초의 값으로 반환
이건 그냥 외우자
발음과 스펠을 잘 알아두자
코알레스...
COALESCE(v1,v2…vn)
-- 입사년도가 다른 세명의 초봉을 구할때
SELECT 이름, COALESCE(1월_급여, 2월_급여, 3월_급여, ...) AS 초봉
FROM 급여;
null이 아닌 최초의 vn값 찾기.
모두 null이면 null.
→ 행 단위로 조회한다.
1행: col1
2행: col1 이 null 이면 -> col2
3행: col1 이 null 이면 -> col2
3행: col1 이 null 이면 -> col2 가 null 이면 -> col3
...
반응형
LIST
'DB > SQL 기초' 카테고리의 다른 글
그룹함수 - rollup, cube, grouping sets + grouping (group by 절) (0) | 2022.08.14 |
---|---|
Merge 문 - insert, update, delete 한번에 해결할 때 (0) | 2022.08.13 |
데이터 모델링이란? (0) | 2022.08.13 |
데이터에 따른 성능 - row chaining, row migration 저장방식 (0) | 2022.08.13 |
정렬의 특성 - ORDER BY, NULL, 컬럼번호, 인수 등 (0) | 2022.08.10 |