본문 바로가기

[오라클 레퍼런스 함수] TO_TIMESTAMP_TZ - TIMESTAMP WITH TIME ZONE 유형으로 변환

by ㅇㅍㅍ 2023. 9. 1.
[오라클 레퍼런스 함수] TO_TIMESTAMP_TZ - TIMESTAMP WITH TIME ZONE 유형으로 변환
728x90

 

TO_TIMESTAMP_TZ

 

구문

TO_TIMESTAMP_TZ(char [ DEFAULT return_value ON CONVERSION ERROR ]
  [, fmt [, 'nlsparam' ] ])

 

목적

TO_TIMESTAMP_TZcharTIMESTAMP WITH TIME ZONE 데이터 유형의 값으로 변환합니다.

char에 대해서는 CHAR, VARCHAR2, NCHAR, 또는 NVARCHAR2 데이터 유형의 문자열로 평가되는 표현식을 지정할 수 있습니다.

 

노트: 이 함수는 문자열을 TIMESTAMP WITH LOCAL TIME ZONE으로 변환하지 않습니다. 이를 위해서는 CAST 함수를 사용하십시오. CAST 예제를 참조하세요.

 

선택적인 DEFAULT return_value ON CONVERSION ERROR 절을 사용하여 charTIMESTAMP WITH TIME ZONE으로 변환하는 동안 오류가 발생할 경우 이 함수가 반환하는 값을 지정할 수 있습니다. 이 절은 char를 평가하는 동안 오류가 발생할 경우에는 효과가 없습니다. return_value는 표현식 또는 바인드 변수일 수 있으며 CHAR, VARCHAR2, NCHAR, NVARCHAR2 데이터 유형 또는 null로 평가되어야 합니다. 이 함수는 return_valueTIMESTAMP WITH TIME ZONE으로 변환하는 데 사용하는 방법과 동일한 방법으로 charTIMESTAMP WITH TIME ZONE으로 변환합니다. return_valueTIMESTAMP WITH TIME ZONE으로 변환할 수 없는 경우 함수는 오류를 반환합니다.

선택적인 fmtchar의 형식을 지정합니다. fmt를 생략하면 charTIMESTAMP WITH TIME ZONE 데이터 유형의 기본 형식이어야 합니다. 선택적인 'nlsparam'은 이 함수에서 날짜 변환을 위한 TO_CHAR 함수와 동일한 목적을 가지고 있습니다.

 

예제

다음 예제는 문자열을 TIMESTAMP WITH TIME ZONE 값으로 변환하는 방법을 보여줍니다:

SELECT TO_TIMESTAMP_TZ('1999-12-01 11:00:00 -8:00',
   'YYYY-MM-DD HH:MI:SS TZH:TZM') FROM DUAL;

TO_TIMESTAMP_TZ('1999-12-0111:00:00-08:00','YYYY-MM-DDHH:MI:SSTZH:TZM')
--------------------------------------------------------------------
01-DEC-99 11.00.00.000000000 AM -08:00

 

다음 예제는 샘플 테이블 oe.order_itemsoe.orders를 사용하여 UNION 작업에서 null 열을 TIMESTAMP WITH LOCAL TIME ZONE으로 캐스트하는 방법을 보여줍니다:

SELECT order_id, line_item_id,
   CAST(NULL AS TIMESTAMP WITH LOCAL TIME ZONE) order_date
   FROM order_items
UNION
SELECT order_id, to_number(null), order_date
   FROM orders;

  ORDER_ID LINE_ITEM_ID ORDER_DATE
---------- ------------ -----------------------------------
      2354            1
      2354            2
      2354            3
      2354            4
      2354            5
      2354            6
      2354            7
      2354            8
      2354            9
      2354           10
      2354           11
      2354           12
      2354           13
      2354              14-JUL-00 05.18.23.234567 PM
      2355            1
      2355            2
. . .

 

다음 예제는 지정된 표현식이 잘못된 월 지정으로 인해 TIMESTAMP WITH TIME ZONE 값으로 변환할 수 없기 때문에 기본값인 NULL을 반환합니다:

SELECT TO_TIMESTAMP_TZ('1999-13-01 11:00:00 -8:00'
       DEFAULT NULL ON CONVERSION ERROR,
       'YYYY-MM-DD HH:MI:SS TZH:TZM') "Value"
  FROM DUAL;

 


출처: 오라클 레퍼런스

원문 링크: Oracle TO_TIMESTAMP_TZ 함수 문서

 

반응형

댓글