SQL> select round(45.995, 2)

    , round(45.995, -2)

    , round(645345.995, -2)

from dual;


   SQL> select trunc(45.995, 2)

    , trunc(45.995, -2) 

    , trunc(645345.995, -2)

from dual;


   SQL> select 7/3, ceil(7/3), floor(7/3)

from dual;


   SQL> select empno, mod(empno, 2), mod(empno, 3) from emp;

   SQL> select empno, mod(empno, 2), mod(empno, 3) from emp where mod(empno, 2) = 0;      --> 사번이 짝수

   SQL> select empno, mod(empno, 2), mod(empno, 3) from emp where mod(empno, 2) = 1;      --> 사번이 홀수

   SQL> select empno, mod(empno, 2), mod(empno, 3) from emp where mod(empno, 3) = 0;      --> 사번이 3의 배수




  문제) 월급을 * 를 이용해서 수평 막대 그래프로 표현하세요.

* 한개가 100입니다. 필요하면 올림을 수행하세요.


ENAME ...... SAL_GRAPH

------ ...... ----------------------

SMITH ...... ********

ALLEN ****************

WARD *************



힌트) CEIL, RPAD 함수를 사용하세요



해답)


SQL> select ename, sal, sal/100, ceil(sal/100)

    from emp;


↓ ↓ ↓ 


SQL> col sal_graph format a60

SQL> select ename, sal, rpad('*', ceil(sal/100)) as sal_graph

    from emp;


↓ ↓ ↓ 


SQL> select ename, sal, rpad('*', ceil(sal/100), '*') as sal_graph

    from emp;


ROUND (number) n값을 소수점 이하를 integer를 기준으로 반올림하여 반환한다


TRUNC (number) 인수 n1을 소수점 자리 파라미터 n2 이하를 절삭.


CEIL 인수에서 지정한 수치를 올림하여 정수를 구하는 함수이다.


FLOOR 지정한 숫자보다 작거나 같은 정수 중에서 최대값을 반환한다


MOD n2을 n1으로 나눈 나머지값을 반환.






'Oracle > SQL Fundamentals I' 카테고리의 다른 글

5일차 # 3-17: Working with Dates  (0) 2012.04.09
5일차 Date #3-19: DUAL table  (0) 2012.04.09
5일차 # 3-11 : Translate  (0) 2012.04.09
5일차 # 3-11 : TRIM vs. LTRIM, RTRIM  (0) 2012.04.09
5일차 # 3-11: RPAD, LPAD  (0) 2012.04.09

+ Recent posts