Intervallumkifejezések
Egy intervallumkifejezés a INTERVAL
YEAR
TO
MONTH
vagy INTERVAL
DAY
TO
SECOND
értéket adja.
interval_expression::=
Description of the illustration interval_expression.gif
A expr1
és expr2
kifejezések lehetnek olyan kifejezések, amelyek DATE
, TIMESTAMP
, TIMESTAMP
WITH
TIME
ZONE
vagy TIMESTAMP
WITH
LOCAL
TIME
ZONE
adattípusú értékekre értékelhetők.
Az adatok és az intervallumok a 2-5. táblázatban meghatározott szabályok szerint kombinálhatók. Az intervallumértékeket eredményező hat kombináció érvényes egy intervallumkifejezésben.
A leading_field_precision
és a fractional_second_precision
is lehet bármely egész szám 0 és 9 között. Ha kihagyja a leading_field_precision
-t akár a DAY
, akár a YEAR
esetében, akkor az Oracle Database az alapértelmezett 2 értéket használja. Ha kihagyja a fractional_second_precision
-t a másodiknál, akkor az adatbázis az alapértelmezett 6 értéket használja. Ha a lekérdezés által visszaadott érték több számjegyet tartalmaz, mint az alapértelmezett pontosság, akkor az Oracle Database hibát ad vissza. Ezért jó gyakorlat, ha olyan pontosságot adunk meg, amelyről tudjuk, hogy legalább akkora, mint a lekérdezés által visszaadott érték.
A következő utasítás például kivonja a orders
mintatábla order_date
oszlopának értékét (egy dátumérték) a rendszer időbélyegéből (egy másik dátumérték), hogy egy intervallumérték-kifejezést kapjunk. Nem ismert, hogy hány nappal ezelőtt adták le a legrégebbi rendelést, ezért a DAY
rakodási mező pontosságának maximális értéke 9:
SELECT (SYSTIMESTAMP - order_date) DAY(9) TO SECOND FROM orders WHERE order_id = 2458;
.