Using TIMESTAMP WITH TIME ZONE : TIMESTAMP « PL SQL Data Types « Oracle PL/SQL Tutorial






You cannot store time zone into DATE datatype.

You can explicitly store the time zone for TIMESTAMP datatypes, as shown here:

declare
    variable1_ts TIMESTAMP[(precision)] WITH TIME ZONE;
begin
    NULL;
end;
/
SQL>
SQL> --You can see these values yourself by using the built-in functions DBTIMEZONE and SESSIONTIMEZONE.
SQL>
SQL> declare
  2      v_ts TIMESTAMP(6) WITH TIME ZONE :=CURRENT_TIMESTAMP;
  3      v_tx VARCHAR2(2000);
  4  begin
  5      v_tx:=to_char(v_ts,'HH24:MI:SS.FF6 TZR');
  6      DBMS_OUTPUT.put_line(v_tx);
  7      v_tx:=to_char(v_ts,'TZH TZM');
  8      DBMS_OUTPUT.put_line(v_tx);
  9  end;
 10  /
20:32:41.890000 -07:00
-07 00

PL/SQL procedure successfully completed.

SQL>








21.7.TIMESTAMP
21.7.1.Using TIMESTAMP
21.7.2.Declaring TIMESTAMP Datatype
21.7.3.TIMESTAMP literals
21.7.4.Using TIMESTAMP WITH TIME ZONE
21.7.5.'TIMESTAMP WITH TIME ZONE' in action
21.7.6.TIMESTAMP WITH LOCAL TIME ZONE
21.7.7.Use select into statement to assign systimestamp to timestamp variable
21.7.8.The TIMESTAMP datatype stores the date/time as follows
21.7.9.The TIMESTAMP WITH TIME ZONE datatype stores the date/time
21.7.10.The TIMESTAMP WITH LOCAL TIME ZONE datatype stores the date/time
21.7.11.Print the current date
21.7.12.Print the current date and timestamp
21.7.13.Two digits for fractional seconds
21.7.14.Nine digits for fractional seconds, 24-hour clock, 14:00 = 2:00 PM
21.7.15.No fractional seconds at all
21.7.16.No time zone, defaults to session time zone