Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zeitliterale

Die Syntax für Zeitliterale ist wie folgt definiert:


zeit_literal ::=

{

   DATE ' jahr-monat-tag ' |

   TIME ' stunde:minute:sekunde ' |

   TIMESTAMP' jahr-monat-tag stunde:minute:sekunde '

}



DATE

Datum. Der Datentyp des Zeitliterals ist DATE.

TIME

Uhrzeit. Der Datentyp des Zeitliterals ist TIME(3).

TIMESTAMP

Zeitstempel. Der Datentyp des Zeitliterals ist TIMESTAMP(3).

jahr

Vierstellige vorzeichenlose Ganzzahl zwischen 0001 und 9999, die das Jahr angibt.

monat

Zweistellige vorzeichenlose Ganzzahl zwischen 01 und 12, die den Monat angibt.

tag

Zweistellige vorzeichenlose Ganzzahl zwischen 01 und 31 (passend zu Monat und Jahr), die den Tag angibt.

stunde

Zweistellige vorzeichenlose Ganzzahl zwischen 00 und 23, die die Stunde angibt.

minute

Zweistellige vorzeichenlose Ganzzahl zwischen 00 und 59, die die Minute angibt.

sekunde

Vorzeichenlose Festpunktzahl zwischen 00.000 und 60.999, die die Sekunde und die Sekundenbruchteile angibt. Die Angabe für die Sekunden muss zweistellig, die Angabe für die Sekundenbruchteile muss dreistellig sein. Der Wertebereich erlaubt die Angabe von einer Schaltsekunde.


Eine Datumsangabe muss die Regeln des Gregorianischen Kalenders erfüllen, auch wenn sie ein Datum vor Einführung des Gregorianischen Kalenders bezeichnet.

SESAM/SQL erlaubt eine verkürzte Schreibweise, ohne einleitendes Zeit-Schlüsselwort, wenn aus dem Kontext unmittelbar hervorgeht, dass es sich um ein Zeitliteral handelt und nicht um ein alphanumerisches Literal.


Beispiele

Aus der Tabelle AUFTRAG alle Aufträge ausgeben, die vor dem angegebenen Datum erledigt wurden.

SELECT * FROM auftrag WHERE fertigist < '2013-01-01'

Die Spalte FERTIGIST wurde beim Erzeugen der Tabelle mit Datentyp DATE definiert. Aus dem linken Vergleichsoperanden geht daher unmittelbar hervor, dass es sich bei dem angegebenen Literal um ein Zeitliteral handelt. Auf der rechten Seite kann somit das Schlüsselwort DATE entfallen.


Literal in der SELECT-Liste.

SELECT COUNT(*) AS anzahl, '2013-01-01' AS datum FROM auftrag

Die Ergebnistabelle enthält eine Zeile mit der Anzahl der Aufträge und mit der Spalte DATUM. Der Datentyp ergibt sich aus dem angegebenen Ausdruck. Also hat die Spalte DATUM den Datentyp CHAR(10).


Um Fehlerquellen auszuschließen, wird empfohlen, Zeitliterale stets mit einleitendem Zeit-Schlüsselwort (DATE, TIME, TIMESTAMP) anzugeben.

ACHTUNG! Die Trennzeichen zwischen den Komponentenwerten müssen genau eingehalten werden: Bindestrich „-“ zwischen Jahr, Monat und Tag Leerzeichen „ “ zwischen Tag und Stunde Doppelpunkt „:“ zwischen Stunde, Minute und Sekunde Punkt „.“ zwischen Sekunde und Sekundenbruchteilen.