Espressioni di intervallo

Ago 31, 2021
admin

Un’espressione di intervallo produce un valore di INTERVAL YEAR TO MONTH o INTERVAL DAY TO SECOND.

interval_expression::=

Descrizione di interval_expression.gif segue

Descrizione dell’illustrazione interval_expression.gif

Le espressioni expr1 e expr2 possono essere qualsiasi espressione che valuta a valori del tipo di dato DATE, TIMESTAMP, TIMESTAMP WITH TIME ZONE, o TIMESTAMP WITH LOCAL TIME ZONE.

Dati e intervalli possono essere combinati secondo le regole definite nella Tabella 2-5. Le sei combinazioni che producono valori di intervallo sono valide in un’espressione di intervallo.

Allora leading_field_precision e fractional_second_precision possono essere qualsiasi numero intero da 0 a 9. Se si omette il leading_field_precision per DAY o YEAR, allora Oracle Database usa il valore predefinito di 2. Se si omette il fractional_second_precision per il secondo, allora il database usa il valore predefinito di 6. Se il valore restituito da una query contiene più cifre che la precisione predefinita, allora Oracle Database restituisce un errore. Pertanto, è buona pratica specificare una precisione che sapete sarà almeno grande quanto qualsiasi valore restituito dalla query.

Per esempio, l’istruzione seguente sottrae il valore della colonna order_date nella tabella di esempio orders (un valore datetime) dal timestamp di sistema (un altro valore datetime) per produrre un’espressione di valore di intervallo. Non si sa quanti giorni fa è stato fatto l’ordine più vecchio, quindi viene specificato il valore massimo di 9 per la precisione del campo di carico DAY:

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.