Tipo di dati INTERVAL ESQL

Il tipo di dati INTERVAL rappresenta un intervallo di tempo. Esso ha alcuni tipi secondari:

Tutti questi tipi secondari descrivono intervalli di tempo e tutti possono partecipare all'intera gamma di operazioni del tipo INTERVAL; ad esempio, operazioni di addizione e sottrazione con i valori di tipo DATE, TIME o TIMESTAMP.

Utilizzare la funzione CAST per eseguire la conversione da un tipo secondario ad un altro, tranne che per gli intervalli descritti in anni e mesi o mesi, che non possono essere convertiti in quelli descritti in giorni, ore, minuti e secondi.

La suddivisione tra mesi e giorni è dovuta al fatto che il numero di giorni in ogni mese è variabile. Un intervallo di un mese e un giorno non è significativo e non può essere convertito opportunamente in un intervallo equivalente composto solo dal numero di giorni.

Un intervallo letterale è definito dalla sintassi:

INTERVAL <stringa intervallo> <qualificatore intervallo>

Il formato della stringa dell'intervallo e il qualificatore dell'intervallo sono definiti dalla seguente tabella.

Qualificatore intervallo Formato stringa intervallo Esempio
YEAR '<anno>' o '<simbolo> <anno>' '10' o '-10'
YEAR TO MONTH '<anno>-<mese>' o '<simbolo> <anno>-<mese>' '2-06' o '- 2-06'
MONTH '<mese>' o '<simbolo> <mese>' '18' o '-18'
DAY '<giorno>' o '<simbolo> <giorno>' '30' o '-30'
DAY TO HOUR '<giorno> <ora>' o '<simbolo> <giorno> <ora>' '1 02' o '-1 02'
DAY TO MINUTE '<giorno> <ora>:<minuti>' o '<simbolo> <giorno> <ora>:<minuti>' '1 02:30' o '-1 02:30'
DAY TO SECOND '<giorno> <ora>:<minuti>:<secondi>' o '<simbolo> <giorno> <ora>:<minuti>:<secondi>' '1 02:30:15' o '-1 02:30:15.333'
HOUR '<ora>' o '<simbolo> <ora>' '24' o '-24'
HOUR TO MINUTE '<ora>:<minuti>' o '<simbolo> <ora>:<minuti>' '1:30' o '-1:30'
HOUR TO SECOND '<ora>:<minuti>:<secondi>' o '<simbolo> <ora>:<minuti>:<secondi>' '1:29:59' o '-1:29:59.333'
MINUTE '<minuti>' o '<simbolo> <minuti>' '90' o '-90'
MINUTE TO SECOND '<minuti>:<secondi>' o '<simbolo> <minuti>:<secondi>' '89:59' o '-89:59'
SECOND '<secondi>' o '<simbolo> <secondi>' '15' o '-15.7'

Laddove un intervallo contenga sia un valore per l'anno che per il mese, viene utilizzato un trattino tra i due valori. In questa istanza, il valore mese deve essere compreso nell'intervallo [0, 11]. Se un intervallo contiene un valore mese e nessun valore anno, il valore mese non è vincolato.

Per separare i giorni dal resto dell'intervallo viene utilizzato uno spazio.

Se un intervallo contiene più di un valore HOUR, MINUTE e SECOND, sono necessari i due punti per separare i valori e tutti i valori tranne quello all'estrema sinistra sono vincolati come segue:

HOUR
0-23
MINUTE
0-59
SECOND
0-59.999...

Il valore più ampio del valore più a sinistra in un intervallo è +/- 2147483647.

Alcuni esempi di valori intervallo validi sono:

Alcuni esempi di valori intervallo non validi sono:

Seguono alcuni esempi di intervalli letterali:

INTERVAL '1' HOUR
INTERVAL '90' MINUTE
INTERVAL '1-06' YEAR TO MONTH

Concetti correlati
Panoramica dei flussi di messaggi
Tipi di dati ESQL
Attività correlate
Sviluppo di flussi di messaggi
Utilizzo degli operatori numerici con i valori datetime
Calcolo di un intervallo di tempo
Riferimenti correlati
Tipo di dati DATE ESQL
Tipo di dati TIME ESQL
Tipo di dati GMTTIME ESQL
Tipo di dati TIMESTAMP ESQL
Tipo di dati GMTTIMESTAMP ESQL
Istruzione DECLARE
Funzione CAST
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac05950_