Intervalové výrazy

Srp 31, 2021
admin

Intervalový výraz dává hodnotu INTERVAL YEAR TO MONTH nebo INTERVAL DAY TO SECOND.

interval_expression::=

Popis interval_expression.gif následuje

Popis obrázku interval_expression.gif

Výrazy expr1 a expr2 mohou být libovolné výrazy, které se vyhodnocují na hodnoty datového typu DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE nebo TIMESTAMP WITH LOCAL TIME ZONE.

Data a intervaly lze kombinovat podle pravidel definovaných v tabulce 2-5. V intervalovém výrazu je platných šest kombinací, které dávají hodnoty intervalů.

Jak leading_field_precision, tak fractional_second_precision mohou být libovolná celá čísla od 0 do 9. Pokud vynecháte leading_field_precision pro DAY nebo YEAR, pak Oracle Database použije výchozí hodnotu 2. Pokud vynecháte fractional_second_precision pro druhou, pak databáze použije výchozí hodnotu 6. Pokud hodnota vrácená dotazem obsahuje více číslic, než je výchozí přesnost, pak Oracle Database vrátí chybu. Proto je dobré zadat přesnost, o které víte, že bude minimálně stejně velká jako jakákoli hodnota vrácená dotazem.

Například následující příkaz odečte hodnotu sloupce order_date ve vzorové tabulce orders (hodnota data) od systémového časového razítka (jiná hodnota data), čímž získá výraz pro intervalovou hodnotu. Není známo, před kolika dny byla zadána nejstarší objednávka, proto je pro přesnost pole DAY zadána maximální hodnota 9:

SELECT (SYSTIMESTAMP - order_date) DAY(9) TO SECOND FROM orders WHERE order_id = 2458;

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.