COALESCE (expr1, expr2,,,,)
: 여러 expr중 처음 NULL 아닌 요소를 리턴 한다.
GREATEST (expr1, expr2,,,,)
: 여러 expr중 최대인 것을 리턴 한다.
LEAST (expr1, expr2,,,,)
: 여러 expr중 최소인 것을 리턴 한다.
SQL기초강좌_일반함수 및 조건식
일반함수및 조건식
NULLIF (expr1, expr2)
: expr1과 expr2가 같은면 NULL. 같지 않으면 expr1을 리턴 한다.
SQL> select nvl(nullif('ORACLE','oracle'),'널입니다')from dual;
NVL(NULL
--------
ORACLE
3.
-- 수당이 NULL인사원은 SAL를, NULL이 아니면 sal+comm을 nullif, nvl2를 이용하
여 출력하시오.
SQL> select sal, comm, nvl2(nullif(sal, nvl(comm, 0)+sal),sal+comm,sal) from
emp;
SAL COMM NVL2(NULLIF(SAL,NVL(COMM,0)+SAL),SAL+COMM,SAL)
---------- ---------- --------------------------------------------------------
800 800
1600 300 1900
1250 500 1750
2975 2975
1250 1400 2650
2850 2850
2450 2450
……
SQL기초강좌_일반함수 및 조건식
4.
SQL기초강좌_일반함수 및 조건식
일반함수및 조건식
COALESCE (expr1, expr2,,,,)
: 여러 expr중 처음 NULL 아닌 요소를 리턴 한다.
GREATEST (expr1, expr2,,,,)
: 여러 expr중 최대인 것을 리턴 한다.
LEAST (expr1, expr2,,,,)
: 여러 expr중 최소인 것을 리턴 한다.
5.
-- EMP테이블에서 COMM이NULL이 아니면 COMM을 출력, COMM이 NULL이고
SAL가 NULL이 아니면 SAL 출력, SAL, COMM모두 NULL이면 0을 출력하시오.
SQL> select ename, sal, comm, coalesce(comm, sal, 0) from emp;
ENAME SAL COMM COALESCE(COMM,SAL,0)
---------- ---------- ---------- --------------------
SMITH 800 800
ALLEN 1600 300 300
WARD 1250 500 500
JONES 2975 2975
MARTIN 1250 1400 1400
BLAKE 2850 2850
CLARK 2450 2450
SCOTT 3000 3000
KING 5000 5000
TURNER 1500 0 0
ADAMS 1100 1100
SQL기초강좌_일반함수 및 조건식
6.
SQL> select greatest(1,6,8,5,3,4)from dual;
GREATEST(1,6,8,5,3,4)
---------------------
8
SQL> select greatest('B','T','W') from dual;
G
-
W
SQL> select least(1,6,8,5,3,4) from dual;
LEAST(1,6,8,5,3,4)
------------------
1
SQL> select least('B','T','W') from dual;
L
-
B
SQL기초강좌_일반함수 및 조건식
7.
SQL> select USERfrom dual;
USER
------------------------------
SCOTT
SQL> show user;
USER은 "SCOTT"입니다
SQL기초강좌_일반함수 및 조건식
USER : 현재 세션의 접속한 USER계정을 VARCHAR2 형식으로 리턴 한다.
8.
SQL> select vsize(empno),vsize(ename) from emp;
VSIZE(EMPNO) VSIZE(ENAME)
------------ ------------
3 5
3 5
3 4
SQL기초강좌_일반함수 및 조건식
VSIZE(expr) : expr의 바이트 수를 리턴 한다.