ESQL-Datentyp INTERVAL

Der Datentyp INTERVAL gibt ein Zeitintervall an. Er verfügt über eine Reihe von Subtypen:

Alle diese Subtypen beschreiben Zeitintervalle, und alle können im gesamten Spektrum der Operationen des Typs INTERVAL eingesetzt werden, z. B. bei Additionen und Subtraktionen mit Werten des Typs DATE, TIME oder TIMESTAMP.

Verwenden Sie die Funktion CAST, um einen Subtyp in einen anderen zu konvertieren. Ausgenommen hiervon sind Intervalle in Jahren und Monaten oder in Monaten, die nicht in Intervalle in Tagen, Stunden, Minuten und Sekunden konvertiert werden können.

Die Trennung zwischen Monaten und Tagen entsteht dadurch, dass die Monate eine unterschiedliche Anzahl von Tagen haben. Ein Intervall von einem Monat und einem Tag ist nicht aussagekräftig und kann nicht sinnvoll in ein gleichbedeutendes Intervall, das eine Anzahl von Tagen angibt, konvertiert werden.

Ein Intervall-Literal wird mit folgender Syntax definiert:

INTERVAL <Intervall-Zeichenfolge> <Intervall-Qualifikationsmerkmal>

Das Format der Intervall-Zeichenfolge und das Intervall-Qualifikationsmerkmal werden in der folgenden Tabelle definiert.

Intervall-Qualifikationsmerkmal Intervall-Zeichenfolgeformat Beispiel
YEAR '<Jahr>' oder '<Vorzeichen> <Jahr>' '10' oder '-10'
YEAR TO MONTH '<Jahr>-<Monat>' oder '<Vorzeichen> <Jahr>-<Monat>' '2-06' oder '- 2-06'
MONTH '<Monat>' oder '<Vorzeichen> <Monat>' '18' oder '-18'
DAY '<Tag>' oder '<Vorzeichen> <Tag>' '30' oder '-30'
DAY TO HOUR '<Tag> <Stunde>' oder '<Vorzeichen> <Tag> <Stunde>' '1 02' oder '-1 02'
DAY TO MINUTE '<Tag> <Stunde>:<Minute>' oder '<Vorzeichen> <Tag> <Stunde>:<Minute>' '1 02:30' oder '-1 02:30'
DAY TO SECOND '<Tag> <Stunde>:<Minute>:<Sekunde>' oder '<Vorzeichen> <Tag> <Stunde>:<Minute>:<Sekunde>' '1 02:30:15' oder '-1 02:30:15.333'
HOUR '<Stunde>' oder '<Vorzeichen> <Stunde>' '24' oder '-24'
HOUR TO MINUTE '<Stunde>:<Minute>' oder '<Vorzeichen> <Stunde>:<Minute>' '1:30' oder '-1:30'
HOUR TO SECOND '<Stunde>:<Minute>:<Sekunde>' oder '<Vorzeichen> <Stunde>:<Minute>:<Sekunde>' '1:29:59' oder '-1:29:59.333'
MINUTE '<Minute>' oder '<Vorzeichen> <Minute>' '90' oder '-90'
MINUTE TO SECOND '<Minute>:<Sekunde>' oder '<Vorzeichen> <Minute>:<Sekunde>' '89:59' oder '-89:59'
SECOND '<Sekunde>' oder '<Vorzeichen> <Sekunde>' '15' oder '-15.7'

Wenn ein Intervall sowohl eine Jahres- als auch eine Monatsangabe enthält, werden die beiden Werte durch einen Silbentrennungsstrich getrennt. In diesem Fall muss die Monatsangabe im Bereich [0, 11] liegen. Wenn ein Intervall eine Monatsangabe, aber keine Jahresangabe enthält, gilt für die Monatsangabe keine Einschränkung.

Tagesangaben werden durch ein Leerzeichen vom Rest des Intervalls getrennt.

Wenn ein Intervall mehr als eine HOUR-, MINUTE- oder SECOND-Angabe enthält, müssen die Werte durch einen Doppelpunkt getrennt werden und gelten für alle Werte mit Ausnahme des am weitesten links stehenden folgende Einschränkungen:

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

Der größte Wert für den Wert ganz links in einem Intervall ist +/- 2147483647.

Beispiele für gültige Werte:

Beispiele für ungültige Werte:

Beispiele für Intervall-Literale:

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

Zugehörige Konzepte
Nachrichtenflüsse - Übersicht
ESQL-Datentypen
Zugehörige Tasks
Nachrichtenflüsse entwickeln
Numerische Operatoren mit Werten für Datum und Uhrzeit (DATETIME) verwenden
Zeitintervall berechnen
Zugehörige Verweise
ESQL DATE-Datentyp
ESQL TIME-Datentyp
ESQL GMTTIME-Datentyp
ESQL TIMESTAMP-Datentyp
ESQL GMTTIMESTAMP-Datentyp
DECLARE-Anweisung
CAST-Funktion
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ac05950_