Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2차원배열 구간합
- 자바 람다식
- MariaDB Query Log
- map()
- function test
- 마리아DB 쿼리 로그
- Bean LifecCycle
- 백준
- pseudo-code
- 백준 11659번
- SQL
- 상속과 참조
- 합배열
- 생성자
- @AllArgsConstructor
- 슈더코드
- 백준 1235번
- json
- 구간합구하기
- 구간합
- Java
- interrupted()
- jquery
- select
- 백준 11660번
- @NoArgsConstructor
- this
- this와 this() 차이
- ajax
- InterruptException
Archives
- Today
- Total
평범한 연구소
[오라클 SQL] NULL 관련 함수 본문
NULL 관련 함수
- 열에 값이 없으면, null이거나 null을 포함한다고 함
- 실제 값을 알 수 없거나 값이 의미가 없는 경우 사용
- 길이가 0인 문자 = NULL 처리
- NULL + 1 = NULL
NULL 관련 함수 | 내용 |
NVL(expr1, expr2) | expr1의 값이 null이 아니면 expr1, null이면 expr2 반환 |
NVL(expr1, expr2, expr3) | expr1의 값이 null이 아니면 expr2, null이면 expr3 반환 |
NULLIF(expr1, expr2) | expr1과 expr2를 비교하여 두 값이 동일하면 null, 동일하지 않으면 expr1 반환. (expr1값은 NULL 올 수 없음) |
COALESCE(expr [,expr]...) | null이 아닌 첫번째 expr값 반환 |
NVL(expr1, expr2)
- expr1이 null이면 expr2 반환.
SELECT name, NVL(tel,'전화없음') tel FROM emp; -- null은 전화없음으로 출력
SELECT name, NVL(tel,'전화없음') tel FROM emp WHERE tel IS NULL;
SELECT 50 + NULL FROM dual; -- null
SELECT 50 + NVL(NULL,0) FROM dual; -- 50
-- NULL이 들어간 연산은 결과값도 NULL이다.
SELECT empNo, name, sal, bonus, sal+bonus pay FROM userEx;
-- bonus가 null이면 연산도 null. 아래처럼 NVL()로 nul을 0으로 변환하여 연산.
SELECT empNo, name, sal, bonus, sal+NVL(bonus,0) pay FROM userEx;
NVL2(expr1, expr2, expr3)
- expr1이 null이면 expr3 반환.
- null이 아니면 expr2 반환
SELECT name, tel, NVL2(tel,'O','X') 유무 FROM emp;
SELECT name, NVL2(tel,tel,'없음') tel FROM emp;
NULLIF(expr1, expr2)
- 같으면 expr1 반환
- 다르면 expr2 반환
SELECT NULLIF(1, 1), NULLIF(10,3) FROM dual; -- null 10
COALESCE(expr [, expr] ...)
- null이 아닌 첫번째 값 반환
SELECT COALESCE(null, 5, 10) FROM dual; -- 5
'DB|SQL' 카테고리의 다른 글
[오라클 SQL] 데이터 조작 언어 (DML) (0) | 2022.08.21 |
---|---|
[오라클 SQL] 데이터 정의 언어 (DDL) (0) | 2022.08.18 |
[오라클 SQL] 날짜 함수 (0) | 2022.08.14 |
[오라클 SQL] 문자 함수 (0) | 2022.08.10 |
[오라클 SQL] 숫자 함수 (0) | 2022.08.10 |