Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Datentypen » Datentypen für Datum und Uhrzeit

 

Datums- und Zeitangabe aus der Datenbank abrufen

Datums- und Zeitangaben können auf eine der folgenden Arten aus einer Datenbank abgerufen werden:

  • Über jede Schnittstelle als Zeichenfolge

  • Über ODBC als TIMESTAMP-Struktur

  • Über Embedded SQL als SQLDATETIME-Struktur

Wenn eine Datums- oder Zeitangabe als Zeichenfolge abgerufen wird, erfolgt dies in dem Format, das von den Datenbankoptionen date_format, time_format und timestamp_format festgelegt ist. Eine Beschreibung dieser Optionen finden Sie unter SET OPTION-Anweisung.

Informationen über Funktionen zu Datums- und Zeitangaben finden Sie unter Datums- und Zeitfunktionen. Die folgenden arithmetischen Operatoren sind in Datumsangaben zulässig:

  • Zeitstempel + Ganzzahl   Die angegebene Anzahl von Tagen zu einer Datumsangabe oder einem Zeitstempel addieren

  • Zeitstempel - Ganzzahl   Die angegebene Anzahl von Tagen von der Datumsangabe oder dem Zeitstempel subtrahieren

  • Datum - Datum   Die Anzahl der Tage zwischen zwei Datumsangaben oder Zeitstempeln berechnen

  • Datum + Zeit   Einen Zeitstempel durch die Kombination der gegebenen Datums- und Uhrzeitangabe erstellen

Schaltjahre

SQL Anywhere benutzt einen weltweit akzeptierten Algorithmus zur Ermittlung der Schaltjahre. Mit diesem Algorithmus wird ein Jahr als Schaltjahr angesehen, wenn es durch vier dividiert werden kann, außer wenn das Jahr ein Jahrhundertjahr ist (z.B. das Jahr 1900), das nur dann ein Schaltjahr ist, wenn es durch 400 geteilt werden kann.

SQL Anywhere verarbeitet alle Schaltjahre richtig. Die folgende SQL-Anweisung gibt beispielsweise "Dienstag" zurück:

SELECT DAYNAME('2000-02-29');

SQL Anywhere akzeptiert den 29. Februar 2000 - ein Schaltjahr - als Datumsangabe und legt damit den Wochentag fest.

Die folgende Anweisung wird von SQL Anywhere hingegen zurückgewiesen:

SELECT DAYNAME('2001-02-29');

Diese Anweisung führt zu einer Fehlermeldung (Konvertierung von '2001-02-29' auf 'timestamp' nicht möglich), da der 29. Februar 2001 nicht existiert.