Welcher Datentyp wird zum Speichern der Datumszeit (nicht nur Datum, sondern auch Uhrzeit) in der Oracle 10g-Datenbank verwendet? Ich habe gelesen, wo das (möglicherweise irrtümlich) " der Datentyp Datum in Oracle 10g kann Datum Zeit speichern " aber die Sache scheint nicht zu passieren, wenn ich es versuche.
Der Datentyp DATE ist ein Datetime-Datentyp. Es speichert ein Datum und eine Uhrzeit. Der Datumsteil basiert auf der Anzahl der Tage seit dem 1. Januar 4712 BC. Der Zeitabschnitt basiert auf der Anzahl der Sekunden seit Mitternacht. Der Link
Ich habe es über Java als Front-End und direkt auf dem Oracle-Terminal mit dem folgenden SQL versucht.
%Vor%Es funktioniert, aber (in beiden Fällen) ignoriert Oracle einfach den Zeitabschnitt und fügt nur die in SQL angegebenen Daten ohne Fehler ein?
Welcher Datentyp wird zum Speichern der Datumszeit in Oracle 10g verwendet? Ist es TimeStamp
?
A DATE
in Oracle hat immer eine Tageskomponente und eine Zeitkomponente. Angenommen, die letzten beiden Spalten in der Tabelle DISCOUNT
werden als DATE
deklariert, ist es sehr unwahrscheinlich, dass Oracle die Zeitkomponente ignoriert.
Was lässt Sie glauben, dass die Zeitkomponente ignoriert wird? Meine Vermutung ist, dass Sie die Daten überprüfen, indem Sie eine Abfrage wie
ausführen %Vor% aus SQL * Plus, SQL Developer, TOAD oder einer anderen GUI. Wenn Sie dies tun, hat das angezeigte Datum standardmäßig nur eine Tageskomponente und keine Zeitkomponente. Das bedeutet nicht, dass die Zeitkomponente verworfen wird. Stattdessen ist es das Ergebnis eines Standard- NLS_DATE_FORMAT
, das die Zeitkomponente nicht anzeigt. Sie können erzwingen, dass die Zeitkomponente angezeigt wird, indem Sie eine explizite TO_CHAR
in Ihrer Abfrage ausführen (beachten Sie, dass ich die Namen Ihrer Spalten rate)
Oder indem Sie Ihren Standard NLS_DATE_FORMAT
Oracle DATE
enthält auch die Zeit. Von den Dokumenten :
Überblick über den DATE-Datentyp
Der Datentyp DATE speichert Zeitpunktwerte (Datum und Uhrzeit) in a Tabelle. Der Datentyp DATE speichert das Jahr (einschließlich des Jahrhunderts), die Monat, der Tag, die Stunden, die Minuten und die Sekunden (nach Mitternacht).
Es kann das von Ihnen verwendete Tool (SQL Developer, SQL * Plus) sein, das Sie betrügt. Probieren Sie
aus %Vor% Beachten Sie auch, dass der Datums-Datentyp nur bis zu den Sekunden gespeichert wird. TIMESTAMP
oder TIMESTAMP WITH TIME ZONE
sind genauer.