TO_CHAR

Syntax

TO_CHAR
(
  value IN { smallint | int | bigint | real | double precision | numeric | text | timestamp | timestamptz }
  [, fmt IN text]
)
RETURNS text

개요

숫자, 날짜, 타임스탬프 또는 문자열 값을 지정한 포맷 모델(fmt)에 따라 문자열로 변환한다.

포맷 모델이 제공되지 않으면 각 데이터 타입의 기본 출력 형식에 따라 문자열로 변환된다.

숫자형의 경우 정수, 부동소수점, 그리고 numeric 값을 포맷에 따라 변환하며,

날짜와 타임스탬프는 지정된 형식(예: 'YYYY-MM-DD', 'HH24:MI:SS')으로 변환된다.

파라미터

파라미터
설명

value

smallint | int | bigint | real | double precision | numeric | text | timestamp | timestamptz 변환할 대상 값이다. 숫자, 날짜, 타임스탬프 또는 문자열 값을 입력할 수 있다. text 타입의 경우, fmt 인자를 사용할 수 없으며, 인자로 입력받은 문자열을 그대로 반환한다.

fmt

text 타입이다;출력 형식을 지정하는 포맷 모델.숫자형은 예를 들어 'FM9999', 날짜/시간은 'YYYY-MM-DD HH24:MI:SS' 등으로 지정할 수 있다.

지원하는 포멧 모델은 PG 공식 문서 를 참조한다.

* 날짜/시간 포멧 모델 * 숫자 포멧 모델

예제

-- 숫자형 값 변환 (포맷 없이)
SELECT oracle.TO_CHAR(12345);

 to_char 
---------
 12345
(1 row)

-- 숫자형 값 변환 (포맷 적용)
SELECT oracle.TO_CHAR(12345, 'FM0000000');

 to_char 
---------
 0012345
(1 row)

-- 날짜형 값 변환 (기본 형식)
SELECT oracle.TO_CHAR(oracle.SYSDATE());

       to_char       
---------------------
 2025-03-07 00:57:44
(1 row)


-- 날짜형 값 변환 (포맷 적용)
SELECT oracle.TO_CHAR(oracle.SYSDATE(), 'DD-MM-YYYY SS:MI:HH24');

       to_char       
---------------------
 07-03-2025 46:58:00
(1 row)

-- 타임스탬프 변환 (timestamptz)
SELECT oracle.TO_CHAR(oracle.SYSTIMESTAMP(), 'YYYY-MM-DD"T"HH24:MI:SS');

       to_char       
---------------------
 2025-03-06T15:59:30
(1 row)

Last updated