TO_DATE

Syntax

TO_DATE
(
  str  IN text
)
RETURNS timestamp;

TO_DATE
(
  str  IN text,
  fmt  IN text
)
RETURNS timestamp;

TO_DATE
(
  num  IN integer,
  fmt  IN text
)
RETURNS timestamp;

개요

텍스트(또는 정수형 값을 문자열로 변환한 값)를 Oracle 스타일의 날짜/시간 형식에 따라 TIMESTAMP(0)(밀리세컨드 없는 시분초까지의 날짜+시분초) 값으로 변환한다.

포맷 모델(fmt)이 제공되면 해당 형식에 맞게 날짜를 해석하며, 제공되지 않을 경우 기본 형식에 따라 변환된다.

빈 문자열을 입력하면 NULL을 반환한다.

오라클과 달리 타입 안정성을 지키기 위해, 날짜 타입의 변수를 받지 않는다.

파라미터

파라미터
설명

str

text 타입이다; 날짜 및 시간 정보를 포함한 문자열. 빈 문자열이면 NULL로 처리된다.

num

integer 타입이다; 정수형 값으로, 내부적으로 문자열로 변환되어 날짜로 해석된다.

fmt

text 타입이다; 입력 문자열의 날짜/시간 형식을 지정하는 포맷 모델이다.

예를 들어, 'YYYY-MM-DD HH24:MI:SS'와 같이 사용한다.

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

* 날짜/시간 포멧 모델

예제

-- 텍스트와 포맷 모델을 사용하여 날짜/시간 문자열을 TIMESTAMP로 변환
SELECT oracle.TO_DATE('2023-06-01 12:34:56', 'YYYY-MM-DD HH24:MI:SS');

       to_date       
---------------------
 2023-06-01 12:34:56
(1 row)

-- 텍스트만 전달한 경우 기본 변환 형식을 사용 (빈 문자열은 NULL 반환)
SELECT oracle.TO_DATE('2023-06-01 12:34:56');

       to_date       
---------------------
 2023-06-01 12:34:56
(1 row)

-- 정수형 값을 문자열로 해석하여 TIMESTAMP로 변환
SELECT oracle.TO_DATE(20230601, 'YYYYMMDD');

       to_date       
---------------------
 2023-06-01 00:00:00
(1 row)

Last updated