Kapitel 7: MySQL-Sprachreferenz 423
datum ist ein DATETIME- oder DATE-Wert, der das Anfangsdatum festlegt.
ausdruck ist ein Ausdruck, der den Intervallwert festlegt, der zum
Anfangsdatum hinzugez¨ahlt oder von diesem a/jointfilesconvert/293675/bgezogen wird. ausdruck ist
eine Zeichenkette; sie kann mit einem ‘-’ f¨ur negative Intervalle beginnen. typ
ist ein Schl¨usselwort, das angibt, wie der Ausdruck interpretiert werden soll.
Die verwandte Funktion EXTRACT(typ FROM datum) gibt das ’typ’-Intervall des
Datums zur¨uck.
Folgende Tabelle zeigt, in welchem Zusammenhang die typ- und ausdruck-
Argumente stehen:
typ wert erwartet ausdruck format
SECOND Sekunden
MINUTE Minuten
HOUR Stunden
DAY Tage
MONTH Monate
YEAR Jahre
MINUTE_SECOND "Minuten:Sekunden"
HOUR_MINUTE "Stunden:Minuten"
DAY_HOUR "Tage Stunden"
YEAR_MONTH "Jahre-Monate"
HOUR_SECOND "Stunden:Minuten:Sekunden"
DAY_MINUTE "Tage Stunden:Minuten"
DAY_SECOND "Tage Stunden:Minuten:Sekunden"
MySQL erlaubt beliebige Satzzeichen-Begrenzer im ausdruck-Format. Die in
der Tabelle gezeigten Begrenzer sind Vorschl¨age. Wenn das datum-Argument
ein DATE-Wert ist und Ihre Berechnungen nur YEAR, MONTH und DAY-Anteile
beinhalten (also keine Zeit-Anteile), ist das Ergebnis ein DATE-Wert. Ansonsten
ist das Ergebnis ein DATETIME-Wert:
mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
-> 1998-01-01 00:00:00
mysql> SELECT INTERVAL 1 DAY + "1997-12-31";
-> 1998-01-01
mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;
-> 1997-12-31 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 SECOND);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL 1 DAY);
-> 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",
INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",
INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
Comentarios a estos manuales