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 9029 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 9029
NULLIF및 COALESCE 함수
작성자
정재익(advance)
작성일
2001-12-25 12:47
조회수
4,104

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.
제목
작성자
작성일
조회
9036일반 User 로 접속한후 DB를 start or shutdown 하는 방법
정재익
2001-12-25
4257
9031오라클 Performance Tuning Scripts
정재익
2001-12-25
4212
9030CASE 의 사용예
정재익
2001-12-25
4235
9029NULLIF및 COALESCE 함수
정재익
2001-12-25
4104
9022Pro*C 란? (2)
정재익
2001-12-25
9066
9021Pro*C 란? (I)
정재익
2001-12-25
8201
9020오라클 8i Admin 한글 교본
정재익
2001-12-25
4928
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다