728x90
이제 단일행 항수중 타입 변환 함수와 기타 함수가 남아 있습니다.
이번 포스팅에서는 타입 변환 함수를 알아보겠습니다.
TO_CHAR, TO_DATE, TO_NUMBER를 알아보기 전에 NUMBER형에서 DATE로 변환될수 없습니다.
마찬가지로 DATE형태에서 NUMBER로 변환될 수 없습니다.
해당 내용을 설명하는 그림입니다.
1. TO_CHAR
TO_CHAR(입력타입[, 형식])
1-1. 숫자 표현방식
형 식
|
설 명
|
9
|
자리 수 지정
|
0
|
남는 자리를 0으로 표시
|
$ 또는 L
|
통화기호 표시
|
. 또는 ,
|
지정한 위치에 . 또는 , 표시
|
EEEE
|
과학 지수 표기법
|
SELECT TO_CHAR(1234,'99999') FROM DUAL;
SELECT TO_CHAR(1234,'00000') FROM DUAL;
SELECT TO_CHAR(1234,'L9999') FROM DUAL;
SELECT TO_CHAR(1234,'99,999') FROM DUAL;
SELECT TO_CHAR(1234,'9.9EEEE') FROM DUAL;
1-2 날짜 표현 형식
형 식
|
설 명
|
YYYY / YY / YEAR
|
년도 (4자리숫자 / 뒤 2자리 숫자 / 문자)
|
MONTH / MON / MM / RM
|
달 (이름 / 약어 / 숫자 / 로마기호)
|
DDD / DD / D
|
일 (1년 기준 / 1달 기준 / 1주 기준)
|
Q
|
분기 (1, 2, 3, 4)
|
DAY / DY
|
요일 (이름 / 약어 이름)
|
HH(12) / HH24
|
12시간 / 24시간
|
AM / PM
|
오전 / 오후
|
MI
|
분 (0~59)
|
SS
|
초 (0~59)
|
*FM : 0 or 공백 제거
SELECT TO_CHAR(SYSDATE, 'PM HH24:MI:SS') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'MON DY, YYYY') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY-FMMM-DD DAY') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM DUAL;
SELECT TO_CHAR(SYSDATE, 'YEAR, Q') FROM DUAL;
2. TO_DATE
TO_DATE(입력 타입[, 형식])
SELECT TO_DATE('20100101','YYYYMMDD') FROM DUAL;
SELECT TO_CHAR(TO_DATE('20100101','YYYYMMDD'),'YYYY,MON') FROM DUAL;
SELECT TO_CHAR(
TO_DATE('041030 143000', 'YYMMDD HH24MISS'),
'YY-MM-DD PM FMHH:MI:SS')
FROM DUAL;
3. TO_NUMBER
TO_NUMBER(입력 타입[, 형식])
-변환되었을 때 숫자인 문자열만 가능
ex) '100' -> 100 (문자열 100을 숫자 100으로)
SELECT ENAME,
TO_NUMBER(SUBSTR(HIREDATE,1,2)) AS 년,
TO_NUMBER(SUBSTR(HIREDATE,4,2)) AS 월
FROM EMP;
728x90
'RDB > Oracle' 카테고리의 다른 글
[ORACLE] 집계함수 - COUNT, MAX, MIN, SUM, AVG (1) | 2021.12.30 |
---|---|
[ORACLE] 기타 함수 - NVL, DECODE, CASE [WHEN ... THEN ...] END (0) | 2021.12.29 |
[ORACLE] 날짜함수(ADD_MONTHS, MONTHS_BETWEEN, SYSDATE) (0) | 2021.12.27 |
[ORACLE] 자리수 반올림, 올림, 버림(ROUND, TRUNC, CEIL, FLOOR) (0) | 2021.12.26 |
[ORACLE] 문자열 자르기, 해당문자 인덱스 반환(SUBSTR, INSTR) (0) | 2021.12.24 |