database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 11511 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 11511
NULLIF및 COALESCE 함수
작성자
정재익(advance)
작성일
2002-07-29 11:36
조회수
7,424

Oracle Magazine을 보다가 필요할것 같아 발췌했습니다...

9i에 개로 적용된 겁니다...

 

------------------------

NULLIF 함수

 

NULLIF 함수의 경우 첫 번째 입력 인자와 두 번째 입력 인자가 같은 경우에는 NULL을 반환하고, 그렇지 않을 경우에는 첫 번째 입력 인자의 값을 반환한다. 예를 들어, EMP 테이블의 사원 중에 Sal 열의 값이 5000인 사람에 대해 NULLIF 함수를 적용하는 SQL 문은 다음과 같다.

SQL> SELECT ename, sal

2 FROM emp

3 WHERE NULLIF(sal, 5000) IS NULL;

 

만약 NULLIF 함수를 CASE 문으로 나타낸다면 다음과 같다.

 

CASE

WHEN expression1 = expression2 THEN NULL

ELSE expression1

END CASE

 

 

 

 

---------------------------------

COALESCE 함수

 

COALESCE 함수는 Oracle의 NVL 함수를 일반화한 것이다. 즉, 첫 번째 입력 인자가 Null이 아닐 경우에는 첫 번째 입력 인자를 반환하고, 아닐 경우에는 두 번째 표현식에 대해서 평가를 계속하게 된다. 예를 들어, EMP 테이블에서 COMM 열의 값이 Null인지 검사하는 SQL 문은 다음과 같다.

 

SQL> SELECT ename, COALESCE(comm,'NULL')

2 FROM emp;

 

NULLIF 함수와 유사하게 CASE 문으로 나타내면 다음과 같다.

CASE

WHEN expression1 IS NOT NULL THEN expression1

ELSE expression2

END CASE;

 

NVL 함수에 비해 COALESCE 함수의 장점은 여러 대체 값을 취할 수 있다는 것이다. 예를 들어, 첫 번째 입력 인자가 Null일 경우에는 나머지 표현식에 대해서 COALESCE를 계속 적용하는 것이 가능하다.

[Top]
No.
제목
작성자
작성일
조회
11537RedHat 7.1 에서 Oracle 8.1.7 의 설치법
정재익
2002-07-31
9101
11513Oracle Performance Tuning
정재익
2002-07-29
7773
11512Oracle 9i 에서 CASE 사용예 [2]
정재익
2002-07-29
7410
11511NULLIF및 COALESCE 함수
정재익
2002-07-29
7424
11510윈도우용 오라클에서 memory 효율적인 사용방법
정재익
2002-07-29
6250
11509Oracle backup/recovery
정재익
2002-07-29
8767
11505ODBC DRIVER를 이용하여 ORACLE DB에 접속하려는 경우
정재익
2002-07-28
6820
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.067초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다