Akashic Records

Oracle - 변환 함수 본문

오래된글/DataBase

Oracle - 변환 함수

Andrew's Akashic Records 2018. 4. 9. 13:21
728x90

변환 함수

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



728x90

'오래된글 > DataBase' 카테고리의 다른 글

Oracle LOCK걸린 Session Kill  (0) 2018.04.15
Oracle - 숫자 함수  (0) 2018.04.09
Oracle - 문자 함수  (0) 2018.04.09
데이터베이스 모델링  (0) 2018.04.09
데이터 저장기술  (0) 2018.04.09
Comments