ESQL-Datentyp INTERVAL

Der Datentyp INTERVAL enthält ein Zeitintervall. Er hat folgende untergeordneten Typen:

Alle diese untergeordneten Typen beschreiben verschiedene Zeitintervalle und können an sämtlichen Operationen des Datentyps INTERVAL teilnehmen, beispielsweise an Additions- und Subtraktionsvorgängen mit den Werten DATE (Datum), TIME (Uhrzeit) oder TIMESTAMP (Zeitmarke).

Mit der CAST-Funktion konvertieren Sie die untergeordneten Typen. Ausgenommen sind dabei jedoch in Jahren und Monaten oder nur in Monaten beschriebene Intervalle, die nicht in Intervalle in Tagen, Stunden, Minuten und Sekunden konvertiert werden können.

Die Trennung zwischen Monaten und Tagen entsteht auf Grund der unterschiedlichen Anzahl von Tagen in den einzelnen Monaten. Ein Intervall von einem Monat und einem Tag ist nicht aussagekräftig und kann nicht sinnvoll in ein entsprechendes Intervall in Tagen konvertiert werden.

Ein Intervall-Literal wird von folgender Syntax definiert:

INTERVAL <Intervall-Zeichenfolge> <Intervall-Qualifikationsmerkmal>

Das Format der Intervall-Zeichenfolge und des Intervall-Qualifikationsmerkmals werden von nachfolgender Tabelle festgelegt.

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

Enthält ein Intervall ein Jahr und einen Monat, werden die Wert durch einen Silbentrennungsstrich getrennt. In diesem Fall muss der Monatswert im Bereich [0, 11] liegen. Wenn ein Intervall einen Monat und kein Jahr enthält, wird der Monatswert nicht eingeschränkt.

Tage werden mit einem Leerzeichen vom restlichen Intervall getrennt.

Wenn ein Intervall mehrere Werte zu HOUR, MINUTE und SECOND enthält, werden die Werte mit einem Doppelpunkt getrennt und mit Ausnahme des Wertes ganz links wie folgt eingeschränkt:

HOUR
0-23
MINUTE
0-59
SECOND
0-59,999...

Beispiele gültiger Intervallwerte:

Beispiele ungültiger Intervallwerte:

Beispiele zu Intervall-Literalen:

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

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