-- 산술 표현식 정리
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
Posted by Duritz

공지사항

Yesterday
Today
Total
12-04 00:45

달력

 « |  » 2024.12
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31