본문 바로가기

DataBase/Oracle

변환 함수

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

[출처] 변환 함수|작성자 후루꾸

'DataBase > Oracle' 카테고리의 다른 글

PLT 5.7 Join  (0) 2008.04.17
PLT 5.6 그룹 함수  (0) 2008.04.17
날짜 관련함수  (0) 2008.04.17
문자 함수  (0) 2008.04.17
숫자 함수(Number Function)  (0) 2008.04.17