Jin Hak 2009. 9. 18. 13:29
 
SQL> SELECT empno, ename
  2   FROM emp
  3   WHERE   ename LIKE '%\%%' ESCAPE '\';

%를 찾는 조건식


 
3   WHERE  comm IN(300, 500, 1400);
comm에 300 500 1400인 것


select roudn(45.293,2)  2는 두번째 자리    (반올림)
from dual;                  -1 은 양수 맨 끝 자리 수 즉 5

select trunc(45.196,2)  2는 19까지 해서 45.19  (반내림)
from dual;

select sal,MOD(sal,100)     sal을 100으로 나눈 나머지 출력
from emp;

select upper ('welcome to ')  대문자
from dual;

select instr('welcome to Oracle 10g','o',3,2)
3번재 위치부터 2번째 나오는것 

최소 두개 파라미터로 있어도 됨. 2번째로 나오는

select substr('welcome to Oracle',12,6);
from dual;
12,6   12번째부터 6글자 출력
8       9    /1   0     /    2    0
 -6    -5   -4   -3        -2    -1    달만 볼때는 -4,2

select lpad('oracle 10g',20,'#') 채움

select ltrim('aaaOracle 10gaaa','a')
왼쪽에 있는 특정문자삭제(앞에aaa를 삭제)
(rtrim 하면 뒤에 aaa삭제)  trim 다 삭제

select sysdate
from dual;

select sysdate -1
from dual;

select sysdate,hiredate,
months_between(sysdate,hiredate)  오늘날자와 고용일 날자를 비교하여 보여줌
                 (개월수)
from emp;

sysdate - to_date(hiredate)
date를 숫자로 바꿔줌 (형변환)

select last_day(hiredate) 12월 5일에 입사를 했다면 12월 31일을 나타냄?
from emp;

select hiredate,next_day(hiredate) 

   <-to_number                     <-to_char
number                  charatet                           date
           ->to_char                 ->to_date



3/24 24를 3으로 나눈 값?

select ename,sal,comm,sal*12 + NVL(comm,0)
from emp;

comm 이 null인 사람은 0값으로 채워서 결과 출력

 
SQL> SELECT ename, deptno,  
  2            DECODE(deptno. 10, ACCOUNTING,
  3                              20, RESEARCH,
  4                              30, SALES,
  5                              40, OPERATIONS) dname
  6   FROM emp;

no가 10이면 dname을 어카운트로 20이면 리서치를 dname으로 .....