본문 바로가기

ORACLE11g/SQL

[11gSQL] 3장 함수

# 3-4


  SQL> SELECT ceil(123.43), floor(123.43) FROM dual;


       CEIL(123.43) FLOOR(123.43)

       ------------ -------------

                124           123


ceil(123.43) : 올림

floor(123.43) : 버림


◎함수의 매개변수로 사용 가능한 것


-리터럴

SQL> SELECT initcap('kBS mbc') FROM dual;


INITCAP('KBSMB

--------------

Kbs Mbc


-컬럼명

SQL> SELECT empno, ename, initcap(ename) FROM emp;


     EMPNO ENAME                INITCAP(ENAME)

---------- -------------------- --------------------

      7369 SMITH                Smith

      7499 ALLEN                Allen

      7521 WARD                 Ward

      ...                               ...


-표현식

SQL> SELECT empno, ename, job, ename || ' ' || job FROM emp;


     EMPNO ENAME                JOB                ENAME||''||JOB

---------- -------------------- ------------------ ------------------

      7369 SMITH                CLERK                 SMITH CLERK

      7499 ALLEN                SALESMAN           ALLEN SALESMAN

      7521 WARD                SALESMAN           WARD SALESMAN

      ...                              ...                       ...


-또 다른 함수

SQL> SELECT empno, ename, job, substr(initcap(ename || ' ' || job), -4) FROM emp;


     EMPNO ENAME                JOB                SUBSTR(INITCAP(ENAME||''||JOB),-

---------- -------------------- ------------------ --------------------------------

      7369 SMITH                CLERK                 lerk

      7499 ALLEN                SALESMAN           sman

      7521 WARD                SALESMAN           sman

      ...                              ...                       ...


# 3-13

  drop table t1 purge;

  create table t1 (col1  varchar2(10) );

  insert into t1 values('ABC123');

  insert into t1 values('1234546');

  insert into t1 values('KBaaa222');

  insert into t1 values('aaaCC_SS');

  insert into t1 values('34553444');

  commit;

  select * from t1;


  drop table t2  purge;


  create table t2 (msg  varchar2(40) );


  insert  into  t2  values('KoreaMBC');

  insert  into  t2  values('Korea대한민국');

  insert  into  t2  values('한국과 홍콩');

  insert  into  t2  values('KBS는 한국이고 MBC는 대한민국');

  insert  into  t2  values('SBSTBC');


  commit;

  select * from t2;


위 명령문을 복사하여 SQL>에서 붙여넣기 한다.


SQL>   select * from t2;


MSG

-------------------------------

KoreaMBC

Korea대한민국

한국과 홍콩

KBS는 한국이고 MBC는 대한민국

SBSTBC


문제1> 숫자로만 구성된 row 검색




문제2> 한글의 글자 수는?



# 3-16-1 연구문제


문제1> 사원번호가 짝수인 사원의 empno, ename을 표시



문제2> Graph 출력하기 -- $100당 한 개의 *을 출력