반응형
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
- 스프링 부트 입문
- 스프링 부트 기본
- assertThrows
- 싱글톤
- 스프링 프레임워크
- DIP
- JPA
- java
- sqld
- DI
- Javascript
- SQL
- springboot
- 필드 주입
- kafka
- spring
- 생성자 주입
- mybatis
- 스프링
- 스프링 컨테이너
- @Configuration
- 스프링부트
- assertThat
- resultMap
- jdbc
- 스프링 빈
- db
- Effective Java
- thymeleaf
- 스프링 부트
Archives
- Today
- Total
선 조치 후 분석
[ORACLE] COALESCE vs NVL 개념 및 차이점 본문
728x90
반응형
SMALL
NULL 값에 대해서 NVL만 사용했었는데, COALESCE라는 함수를 알게 되면서 차이점과 개념을 정리해 보았다.
먼저 COALESCE와 NVL은 모두 NULL 값을 처리하는 함수이지만, 차이점은 사용 가능한 인자의 수와 동작 방식이다.
COALESCE
- 구문 : COALESCE(value1, value2, value3,... valueN)
- COALESCE 함수는 여러 개의 인자를 받을 수 있다.
- 인자 중에서 첫 번째 NON-NULL 값을 반환한다.
- 인자를 왼쪽 -> 오른쪽 순서대로 확인하며 NON-NULL 값을 찾으며 바로 반환한다.
- 모든 인자가 NULL 인 경우에는 NULL을 반환한다.
SELECT COALESCE(null, 1, 2, 3); -- 결과: 1
SELECT COALESCE(null, null, null); -- 결과: NULL
NVL
- 구문 : NVL(value1, value2)
- NVL 함수는 두 개의 인자를 받는다.
- 첫 번째 인자인 value1이 NULL이 아니면 value1을 반환하고, NULL이면 value2를 반환
SELECT NVL(null, 1); -- 결과: 1
SELECT NVL(null, 'default'); -- 결과: 'default'
COALESCE는 여러 개의 인자를 받을 수 있고, 첫 번째 NON-NULL 값을 반환하는 반면,
NVL은 두 개의 인자를 받고 첫 번째 값이 NULL이면 두 번째 값을 반환한다.
선택적으로 사용할 수 있는 상황에 따라 어떤 함수를 사용할지 선택하면 된다.
728x90
반응형
LIST
'Solution > DB' 카테고리의 다른 글
[DB] Replication에 대해서... (1) | 2024.12.24 |
---|---|
[ORACLE] 시노님(SYNONYM)이란? 장점은? (0) | 2023.09.12 |
[SQL] LISTAGG 함수 개념과 사용예시 (0) | 2023.08.28 |
DB GRANT, REVOKE 권한 개념 [Specified schema object was not found. ] (0) | 2023.08.28 |
CHAR vs VARCHAR 차이점은? (0) | 2023.08.25 |