Oracle TIMESTAMP WITH TIME ZONE

akretschmer

Datenbank-Guru
Beiträge
10.307
Moin,

kann mir mal bitte jemand bestätigen oder nicht bestätigen, daß Oracle bei TIMESTAMP(6) WITH TIME ZONE
und der Angabe von z.B.:

TIMESTAMP '2017-08-10 10:30:20.15 US/Pacific'

auch die Region, also hier US/Pacific, mit speichert (nicht nur den Offset, sondern wirklich die Region?

Also, Tabelle mit passender Spalte, speichern von einem Timestamp mit Region wie z.B. US/Pacific, und wenn ich später die Tabelle abfrage, ich diese Region wieder erhalte?


Danke.
 
Werbung:
Was ist das konkrete Insert Statement und konkrete Spaltentyp?
Und wie die Abfrage? Welcher Client, welche Formatangaben?
Sieht etwas nach impliziter Konvertierung aus.
Schau Dir mal für die Ausgabe die Formatmasken an, z.B.
TZR
 
ich hab inzwischen, über einen anderen Kanal, eine Antwort:

Code:
SQL> create table t (c1 timestamp with time zone);
Table created.
SQL> insert into t values(TIMESTAMP '2017-08-10 10:30:20.15 US/Pacific');
SQL> select * from t;

C1
---------------------------------------------------------------------------
10-AUG-17 10.30.20.150000 AM US/PACIFIC

Ora speichert tatsächlich die Region mit.
 
Gut, wenn Du das in SQL Plus abfragst, wird irgendein* Ausgabeformat zur Anzeige genommen. Dabei werden durchaus Datenanteile geschluckt- in der Darstellung. Sieht dann u.U. scheinbar nach Datenverlust aus.

*Default oder Client Locale oder Custom
 
Werbung:
Um das Format etc. geht es gar nicht, es geht um den Fakt, daß Ora die Region mit persistent speichert - was PG nicht macht. Wir haben einen Kunden, der - wen wundert es - von Ora weg will, und dies ist ein Thema, was ihn hindert.
Zufällig gibt es auf postgresql-general - Mailingliste da grad auch einen aktuelle Thread: Timestamp with vs without time zone.

Mal sehen, was man da machen kann ...
 
Zurück
Oben