2011년 6월 1일 수요일

변환 함수

4.      변환 함수

TO_CHAR
TO_CHAR함수는 DATE형, NUMBER형을 VARCHAR2형으로 바꺼 줍니다.
SQL>SELECT TO_CHAR(SYSDATE, 'MONTH') CHARTEST FROM dual ;
      CHARTEST
--------------
            JUNE
SQL>SELECT TO_CHAR(SYSDATE) CHARTEST FROM dual ;
      CHARTEST
--------------
         00/06/10


TO_DATE
TO_DATE함수는 CHAR, VARCHAR2형을 DATE 타입으로 변환합니다.
SQL>SELECT TO_DATE('2000/06/16','RRRR/MM/DD') FROM dual ;
      TO_DATE
  ------------
     2000/06/16


TO_NUMBER
TO_NUMBER함수는 CHAR, VARCHAR2의 데이터 타입을 숫자형식으로 변환합니다.
SQL>SELECT TO_NUMBER('1210616') FROM dual ;
   TO_NUMBER
   --------------
            1210616


5.      기타함수
NVL
NVL 함수는 NULL값을 다른 값으로 바꿀 때 쓰입니다.
모든 데이터 타입에 적용 가능합니다.
전환되는 값의 데이터 타입을 일치시켜야 합니다.
SQL>SELECT empno, NVL(comm, 0) FROM  emp WHERE deptno = 30;
        EMPNO  NVL(COMM,0)
      ----------     -----------
         7499              300
         7521              500
         7654             1400
         7698                0
         7844                0
         7900                0


DECODE
DECODE 함수는 데이터 들을 다른 값으로 바꾸어 줍니다.
형식 DECODE(VALUE, IF1, THEN1, IF2, THEN2...)
VALUE 값이 IF1일경우에 THEN1값으로 바꾸어 주고 VALUE값이 IF2일경우에는 THEN2값으로 바꾸어 줍니다.
SQL> SELECT deptno,
                   DECODE(deptno, 10 , 'ACCOUNTING' ,
                                            20 , 'RESEARCH' ,
                                            30 , 'SALES' ,
                                            40 , 'OPERATIONS')
         FROM emp ;
    DEPTNO  DECODE(DEP
    ---------- ----------
       20        RESEARCH
       30        SALES
       30        SALES
       20        RESEARCH
       30        SALES
       30        SALES
       10        ACCOUNTING
       20        RESEARCH


DUMP
DUMP는 바이트 크기와 해당 데이터 타입 코드를 반환합니다..
SQL>SELECT ename, DUMP(ename, 16) "16진수"
       FROM emp
       WHERE ename = 'ALLEN'
ename   16진수
------  ------------------------------
ALLEN   Typ=1 Len=5: 41,4c,4c,45,4e


GREATEST
GREATEST함수는 검색값 중에서 가장 큰 값을 반환 합니다.
SQL>SELECT GREATEST(10, 100, 5, -7) FROM DUAL;
GREATEST(10,100,5,-7)
---------------------
                 100


LEAST
LEAST함수는 GREATEST함수와 반대로 가장 작은 값을 반환합니다.
SQL>SELECT LEAST(10, 100, 5, -7) FROM DUAL;
LEAST(10,100,5,-7)
------------------
               -7


UID
현재 사용자의 유일한 ID번호를 리턴합니다.
USER
현재 오라클을 사용하는 사용자를 VARCHAR2형식으로 리턴합니다.
SQL> SELECT USER, UID FROM DUAL;
USER          UID
------------- ------
SCOTT         32


USERENV
USERENV 함수는 현재 세션의 환경 정보를 반환합니다.
 - ENTRYID : 사용 가능한 Auditing entry Identifier를 반환합니다.
 - LABEL : 현재 세션의 Label을 반환합니다.
 - LANGUAGE : 현재 세션에서 사용중인 언어와 테리토리 값을 반환합니다.
 - SESSIONID : Auditing(감사) Session ID를 반환 합니다.
 - TERMINAL : 현재 세션 터미널의 OS ID를 반환 합니다.
SQL> SELECT USERENV('LANGUAGE') FROM DUAL;
USERENV('LANGUAGE')
------------------------
KOREAN_KOREA.KO16KSC5601


VSIZE
해당 문자의 BYTE수를 반환 합니다. 해당 문자가 NULL이면 NULL값이 반환 됩니다.
SQL> SELECT VSIZE(ename), ename
         FROM emp
         WHERE deptno = 30;
VSIZE(ENAME) ENAME
------------ ----------
          5            ALLEN
          4            WARD
          6            MARTIN
          5            BLAKE

댓글 없음:

댓글 쓰기

블록체인 개요 및 오픈소스 동향

블록체인(block chain) 블록체인은 공공 거래장부이며 가상 화폐로 거래할때 발생할때 발생할 수 있는 해킹을 막는 기술. 분산 데이터베이스의 한 형태로, 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가...