TO_CHAR 함수

날짜 타입(DATE, TIME, TIMESTAMP)
설명

TO_CHAR 함수는 날짜-시간 타입(DATE, TIME, TIMESTAMP)을 "날짜-시간" 포맷에 맞는 VARCHAR 타입으로 변환한다. 날짜-시간 포맷이 생략되었을 때에 DATE 타입이면 'MM/DD/YYYY' 포맷이, TIME 타입이면 'HH:MI:SS' 포맷이, TIMESTAMP 타입이면 'HH:MI:SS AM MM/DD/YYYY' 포맷이 적용된다.

구문

TO_CHAR( date_time_argument [, format_argument[, date_lang_string_literal ]] )

date_time_argument :
date
time
timestamp
NULL

format_argument :
character strings (날짜 포맷 표 참조)
NULL

date_lang_string_literal : (date_lang_string_literal 표 참조)
'en_US'
'ko_KR'

날짜 포맷

포맷 구성 요소

의미

CC

세기

YYYY, YY

4자리 연도, 2자리 연도

Q

분기(1, 2, 3, 4; 1월~3월 = 1)

MM

월(01-12; 1월 = 01)

MONTH

월 이름

MON

축약된 월 이름

DD

날(1-31)

DAY

요일 이름

DY

축약된 요일 이름

D 또는 d

요일(1-7)

AM 또는 PM

오전/오후

A.M. 또는 P.M.

마침표가 포함된 오전/오후

HH 또는 HH12

시(0-11)

HH24

시(0-23)

MI

분(0-59)

SS

초(0-59)

- / , . ; : "텍스트"

구두점과 인용구는 그대로 결과에 표현됨

date_lang_string_literal 예

포맷 구성 요소

Date_lang_string_literal

'en_US'

'ko_KR'

MONTH

JANUARY

1월

MON

JAN

1

DAY

MONDAY

월요일

DY

MON

Month

January

1월

Mon

Jan

1

Day

Monday

월요일

Dy

Mon

month

january

1월

mon

jan

1

day

monday

월요일

Dy

mon

AM

AM

오전

Am

Am

오전

am

am

오전

A.M.

A.M.

오전

A.m.

A.m.

오전

a.m.

a.m.

오전

PM

AM

오전

Pm

Am

오전

pm

am

오전

P.M.

A.M.

오전

P.m.

A.m.

오전

p.m.

a.m

오전

반환값 포맷의 자릿수는 다음과 같다.

포맷 구성 요소

자릿수

MONTH(Month, month)

9 (ko_KR의 경우 4)

MON(Mon, mon)

3 (ko_KR의 경우 2

DAY(Day, day)

9 (ko_KR의 경우 6)

DY(Dy, dy)

3 (ko_KR의 경우 2)

HH12, HH24

2

"텍스트"

텍스트의 길이

나머지 포맷

포맷의 길이와 같음

예제

SELECT TO_CHAR(DATE '12/25/1999', 'dd') FROM db_root;

SELECT TO_CHAR(TIME '10:20:30 AM', 'HH24') FROM db_root;

SELECT TO_CHAR(TIMESTAMP '10:20:30 AM 12/25/1999', 'MONTH MON yyyy') FROM db_root;

SELECT TO_CHAR(TIMESTAMP '10:20:30 AM 12/25/1999', 'D') FROM db_root;

숫자 타입(NUMERIC)
설명

TO_CHAR 함수는 NUMERIC 타입을 숫자 포맷에 맞는 VARCHAR 타입으로 변환한다.

구문

TO_CHAR(numeric_argument[, format_argument ])

numeric_argument :
numeric(decimal)
integer
smallint
float(real)
double
NULL


format_argument :
character strings (숫자 포맷 표 참조)
NULL

숫자 포맷

포맷 구성 요소

예제

설명

9

9999

"9"의 개수가 반환될 유효숫자 자릿수를 나타낸다. 숫자 앞쪽의 0에 대해서는 공백이 반환된다.

0

0999

숫자 앞쪽의 0에 대해서 공백이 아니라 0을 반환한다.

S

S9999

지정된 위치에 양수에 대해서는 "+", 음수에 대해서는 "-"를 반환한다.

C

C9999

지정된 위치에 ISO 통화 기호를 반환한다.

,

9,999

지정된 위치에 쉼표(",")를 반환한다.

.

9.999

지정된 위치에 숫자의 정수 부분과 소수 부분을 구분하는 마침표(".")를 반환한다.

EEEE

9.99EEEE

과학적 기수법(scientific notation)을 반환한다.

예제

SELECT TO_CHAR(1234,'S9999') FROM db_root;

SELECT TO_CHAR(1.234E-4) FROM db_root;