본문 바로가기
IT/Oracle

[Oracle] - 오라클 ROWNUM, ROWID, NVL 함수란 ?

by 차이나는 개발자 2020. 8. 24.
728x90
반응형

#오라클 ROWNUM, ROWID,  NVL 함수란 ?

 

 

#ROWNUM

-의사 칼럼으로 참조만 될 뿐 데이터베이스에 저장되지 않습니다.

-SELECT절에 의해 추출되는 데이터(ROW)에 붙는 순번입니다.

 

e.g.)

select rownum, empno, ename from emp;

 

 

#ROWID

-테이블의 레코드(행, ROW, RECORD)를 유일하게 구별하는 행의 주소 값입니다.

-의사칼럼으로 DB에 저장되어 있지 않지만 SELECT, WHERE절에 사용될 수 있고 INSERT, UPDATE, DELETE등으로 변경할 수는 없습니다.. 

-유일한 주소값이지만 테이블의, PK처럼 사용될 수는 없습니다.

 

e.g.)

select rowid, empno, ename from emp;

 

 

#NVL 함수

-해당 컬럼의 값이 null 값인 경우 특정값으로 출력하고 싶으면 NVL 함수를 사용합니다.

-null 값이 아닐경우 특정값으로 출력하고 싶으면 NVL2 함수를 사용합니다.

 

-NVL 함수

NVL("값", "지정값")

e.g.) COMM 값이 NULL이면 0을 출력합니다.

SELECT COMM, NVL(COMM, 0) FROM EMP;

 

-NVL2 함수

NVL2("값","지정값1","지정값2")

e.g.) COMM 값이 NULL이면 지정값2(0) NULL이 아니면 지정값1(1)을 출력합니다.

SELECT COMM, NVL2(COMM, 1, 0) FROM EMP;

 

 

 

728x90
반응형

댓글