Intervallausdrücke
Ein Intervallausdruck ergibt einen Wert von INTERVAL
YEAR
TO
MONTH
oder INTERVAL
DAY
TO
SECOND
.
Intervallausdruck::=
Beschreibung der Abbildung intervall_ausdruck.gif
Die Ausdrücke expr1
und expr2
können beliebige Ausdrücke sein, die zu Werten des Datentyps DATE
, TIMESTAMP
, TIMESTAMP
WITH
TIME
ZONE
oder TIMESTAMP
WITH
LOCAL
TIME
ZONE
führen.
Daten und Intervalle können nach den in Tabelle 2-5 definierten Regeln kombiniert werden. Die sechs Kombinationen, die Intervallwerte ergeben, sind in einem Intervallausdruck gültig.
Beide leading_field_precision
und fractional_second_precision
können eine beliebige ganze Zahl von 0 bis 9 sein. Wenn Sie leading_field_precision
entweder für DAY
oder YEAR
weglassen, verwendet Oracle Database den Standardwert 2. Wenn Sie fractional_second_precision
für den zweiten Wert weglassen, verwendet die Datenbank den Standardwert 6. Wenn der von einer Abfrage zurückgegebene Wert mehr Ziffern als die Standardgenauigkeit enthält, gibt Oracle Database einen Fehler zurück. Daher empfiehlt es sich, eine Genauigkeit anzugeben, von der Sie wissen, dass sie mindestens so groß ist wie der von der Abfrage zurückgegebene Wert.
Die folgende Anweisung subtrahiert beispielsweise den Wert der Spalte order_date
in der Beispieltabelle orders
(einen Datumswert) vom Systemzeitstempel (einem anderen Datumswert), um einen Intervallwertausdruck zu erhalten. Da nicht bekannt ist, vor wie vielen Tagen die älteste Bestellung aufgegeben wurde, wird der Höchstwert von 9 für die Genauigkeit des Feldes DAY
angegeben:
SELECT (SYSTIMESTAMP - order_date) DAY(9) TO SECOND FROM orders WHERE order_id = 2458;