Wyrażenia interwałowe

sie 31, 2021
admin

Wyrażenie interwałowe daje wartość INTERVAL YEAR TO MONTH lub INTERVAL DAY TO SECOND.

wyrażenie_interwałowe::=

Opis ilustracji wyrażenie_interwałowe.gif następuje

Opis ilustracji wyrażenie_interwałowe.gif

Wyrażenia expr1 i expr2 mogą być dowolnymi wyrażeniami, które są obliczane na wartości typu danych DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE lub TIMESTAMP WITH LOCAL TIME ZONE.

Czasy i interwały można łączyć zgodnie z zasadami określonymi w tabeli 2-5. Sześć kombinacji, które dają wartości interwałów, jest ważnych w wyrażeniu interwałowym.

Zarówno leading_field_precision, jak i fractional_second_precision mogą być dowolnymi liczbami całkowitymi od 0 do 9. Jeśli pominiesz leading_field_precision dla DAY lub YEAR, wówczas baza danych Oracle użyje domyślnej wartości 2. Jeśli pominiesz fractional_second_precision dla drugiej, wówczas baza danych użyje domyślnej wartości 6. Jeśli wartość zwrócona przez zapytanie zawiera więcej cyfr niż domyślna precyzja, wówczas baza danych Oracle zwróci błąd. Dlatego dobrą praktyką jest określanie precyzji, o której wiesz, że będzie co najmniej tak duża, jak wartość zwracana przez zapytanie.

Na przykład, poniższe wyrażenie odejmuje wartość kolumny order_date w przykładowej tabeli orders (wartość datetime) od systemowego znacznika czasu (inna wartość datetime), aby uzyskać wyrażenie wartości interwałowej. Nie wiadomo, ile dni temu zostało złożone najstarsze zamówienie, więc określono maksymalną wartość 9 dla precyzji pola DAY:

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

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.