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
--------------
|
TO_DATE
TO_DATE함수는 CHAR, VARCHAR2형을 DATE 타입으로 변환합니다.
SQL>SELECT TO_DATE('
TO_DATE
------------
|
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
|
'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 |