TO_TIMESTAMP_TZ ÇÔ¼ö

TO_TIMESTAMP_TZ ÇÔ¼ö´Â CHAR, NCHAR, VARCHAR2, NVARCHAR2 µ¥ÀÌÅÍŸÀÔÀ» TIMESTAMP WITH TIME ZONE Çü½ÄÀ¸·Î µ¥ÀÌÅÍŸÀÔÀ¸·Î º¯È¯ÇÏ¿© Ãâ·ÂÇÑ´Ù.
• º¯È¯ÇÒ ¼ö ÀÖ´Â ¹®ÀÚ¿­Àº CHAR, VARCHAR2, NCHAR, NVARCHAR2 ŸÀÔÀÌ´Ù.

• format ¼³Á¤ ºÎºÐ¿¡´Â ¾Õ¿¡ ±â¼úÇÑ ¹®ÀÚ¿­ÀÇ Çü½ÄÀ» ¸í½ÃÇÏ´Â ºÎºÐÀ¸·Î »ý·«ÇÒ °æ¿ì, µðÆúÆ® TIMESTAMP ŸÀÔÀ¸·Î º¯È¯ÇÑ´Ù.
• NLS_DATE_LANGUAGE=»ç¿ëÇϰíÀÚ ÇÏ´Â ¾ð¾î ¼³Á¤ºÎºÐ¿¡´Â °ªÀ» ¸®ÅÏÇÒ ¶§ »ç¿ëÇÒ ¾ð¾î¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖÀ¸¸ç, »ý·«½Ã NLS_DATE_LANGUAGE¿¡ ¼³Á¤ÇÑ °ªÀ» »ç¿ëÇÑ´Ù.
• TIMESTAMP WITH LOCAL TIME ZONE ŸÀÔÀ¸·Î º¯È¯ÇÒ ¼ö ¾ø´Ù.

¡¼Çü½Ä¡½
     TO_TIMESTAMP_TZ ( char [,'fmt' ['nlsparam'] ] )

¡¼¿¹Á¦¡½
SQL> select to_timestamp_tz('2004-8-20 1:30:00 -3:00',
  2  'YYYY-MM-DD HH:MI:SS TZH:TZM') from dual;

TO_TIMESTAMP_TZ('2004-8-201:30:00-3:00','YYYY-MM-DDHH:MI:SSTZH:TZM')
--------------------------------------------------------------------------
20-AUG-04 01.30.00.000000000 AM -03:00

SQL>
SQL> select SYSDATE from dual;

SYSDATE
------------
12-FEB-09

SQL> select TO_TIMESTAMP_TZ(sysdate,'YYYY-MM-DD HH:MI:SS TZH:TZM') from dual;

TO_TIMESTAMP_TZ(SYSDATE,'YYYY-MM-DDHH:MI:SSTZH:TZM')
---------------------------------------------------------------------------
09-FEB-12 12.00.00 AM +09:00

SQL> 
SQL> select * from nls_session_parameters;
 
PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_LANGUAGE                   KOREAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              KOREAN
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
 
PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY              $
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE
 
17 °³ÀÇ ÇàÀÌ ¼±ÅõǾú½À´Ï´Ù.
 
SQL> alter session set nls_timestamp_tz_format='YY/MM/DD HH24:MI:SS TZH:TZM';
 
¼¼¼ÇÀÌ º¯°æµÇ¾ú½À´Ï´Ù.
 
SQL> select * from v$nls_parameters;
 
PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_LANGUAGE                   KOREAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              KOREAN
NLS_CHARACTERSET               KO16KSC5601
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
 
PARAMETER                      VALUE
------------------------------ ------------------------------
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT        YY/MM/DD HH24:MI:SS TZH:TZM
NLS_DUAL_CURRENCY              $
NLS_NCHAR_CHARACTERSET         AL16UTF16
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE
 
19 °³ÀÇ ÇàÀÌ ¼±ÅõǾú½À´Ï´Ù.
 
SQL> 
¡¼¿¹Á¦¡½
SQL> conn oe/oe
SQL> select order_id, line_item_id,
  2    cast(null as timestamp with local time zone) order_date
  3  from order_items
  4  UNION
  5  select order_id, to_number(null), order_date
  6   from orders;


  ORDER_ID LINE_ITEM_ID ORDER_DATE
---------- ------------ ---------------------------------------
      2457              01-NOV-99 03.22.16.162632 PM
      2458            1
      2458            2
      2458            3
      2458            4
      2458            5
      2458            6
      2458              17-AUG-99 07.34.12.234359 AM


770 rows selected.

SQL>