2009. 3. 13. 01:50 Program.../Oracle
Oracle 산술 표현식
-- 산술 표현식 정리
select 5+2, 5-2, 5*2, 5/2 from dual; -- 산술표현식을 출력한다.
select 5/2, floor(5/2), mod(5,2)
from dual; -- floor(계산을 했을때 몫을 표시), mod(나머지 표시)
select floor(2.5), ceil(2.5)
from dual; -- floor(해당숫자보다 작은 최대의정수), ceil(해당숫자보다 큰 최소의 정수)
select 0, 5+null, 5*null, 5-null, 5/null
from dual; -- null(존재하지 않는값으로 연산에 추가되면 무조건 null출력)
select ename, sal, comm
from emp;
select ename, sal, comm, sal+comm
from emp;
select null, nvl(null, 0), nvl(null, 'null이군요') -- nvl(x,y) : x의 결과물이 null이라면 y로 나타내라
from dual;
select ename, sal, comm, sal+nvl(comm, 0) -- comm이 null 일때 sal과 sal의 합을 구한다.
from emp;
select ename "사원명", sal, comm, sal*12+nvl(comm, 0) "연봉" -- comm이 null 일때 sal과 sal의 합을 구한다.
from emp; -- column명 as "별칭" (as는 생략가능) (" "도 생략가능하나 공백이 있으면 ""를 해야한다):alias(별칭)
select ename, sal*12+nvl(comm,0) "연봉",
nvl2(comm, sal*12+comm, sal*12) "연봉2",
-- nvl2(x,y,z) : x의 값이 null이 아니라면 y의 수식을 나타내고, null이라면 z의 수식을 나타내라
coalesce(sal*12+comm, sal*12, 0) "연봉3"
-- coalesce(x,y,z) : x의 값이 null이라면 y로 나타내고, y마저 null이라면 z로 나타태라
from emp;
'Program... > Oracle' 카테고리의 다른 글
Oracle 중복행 제거 (0) | 2009.03.13 |
---|---|
Oracle 연결 연산자 (0) | 2009.03.13 |
Oracle 계정관리 및 복구 & 백업 (0) | 2009.03.13 |
ER-WIN 사용방법 (0) | 2009.03.13 |
DB 논리적 모델링 (용어해설) (0) | 2009.03.13 |