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

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » SQL-Datentypen » Datentypvergleiche

 

Vergleiche von Datumsangaben und Uhrzeiten

Die folgende Tabelle enthält eine Übersicht über die impliziten Konvertierungen beim Vergleich von bestimmten Datentypen mit Datums-, Uhrzeit- oder Datum-Uhrzeit-Datentypen.

Datentyp Datentyp Konvertierung
CHAR DATE CHAR in TIMESTAMP, DATE in TIMESTAMP
CHAR TIME CHAR in TIME
CHAR TIMESTAMP CHAR in TIMESTAMP
CHAR TIMESTAMP WITH TIME ZONE CHAR in TIMESTAMP WITH TIME ZONE
DATE TIME Unzulässig
DATE TIMESTAMP DATE in TIMESTAMP
DATE TIMESTAMP WITH TIME ZONE DATE in TIMESTAMP WITH TIME ZONE
DATE SMALLINT, INTEGER, BIGINT und NUMERIC SMALLINT-, INTEGER-, BIGINT- und NUMERIC-Werte werden als Datumszeichenfolge behandelt und in TIMESTAMP konvertiert, DATE in TIMESTAMP
DATE REAL, FLOAT und DOUBLE REAL-, FLOAT- und DOUBLE-Werte werden als Anzahl von Tagen seit 0000-02-29 behandelt und in TIMESTAMP konvertiert, DATE in TIMESTAMP
TIME TIMESTAMP TIMESTAMP in TIME
TIME TIMESTAMP WITH TIME ZONE Unzulässig
TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP in TIMESTAMP WITH TIME ZONE
TIMESTAMP SMALLINT, INTEGER, BIGINT und NUMERIC SMALLINT-, INTEGER-, BIGINT- und NUMERIC-Werte werden als Datumszeichenfolge behandelt und in TIMESTAMP konvertiert
TIMESTAMP REAL, FLOAT und DOUBLE REAL-, FLOAT- und DOUBLE-Werte werden als Anzahl von Tagen seit 0000-02-29 behandelt und in TIMESTAMP konvertiert

Die folgenden Punkte bauen auf den in der obigen Tabelle vorgestellten Informationen auf.

  1. Nur Werte vom Typ TIME, TIMESTAMP und CHAR können mit einem Wert vom Typ TIME verglichen werden. Ein Vergleich mit Werten anderer Datentypen führt zu einem Konvertierungsfehler. Beim Vergleichen eines Uhrzeitwerts mit einem Wert eines anderen Datentyps ist der Vergleichsdatentyp TIME.

  2. Beim Vergleichen eines Werts vom Typ TIMESTAMP, SMALLINT, INTEGER, BIGINT, NUMERIC, REAL, FLOAT oder DOUBLE mit einem DATE-Wert ist der Vergleichsdatentyp immer TIMESTAMP.

  3. Beim Vergleichen eines TIMESTAMP WITH TIME ZONE-Werts mit einem DATE-Wert ist der Vergleichsdatentyp TIMESTAMP WITH TIME ZONE.

  4. Wenn ein Zeitwert in einen TIMESTAMP-Wert konvertiert wird, ist das Ergebnis die Kombination aus dem aktuellen Datum und dem Zeitwert.

  5. Exakte nummerische Werte vom Typ SMALLINT, INTEGER, BIGINT oder NUMERIC können in Datumswerte konvertiert werden. Die Konvertierung erfolgt durch Behandlung der Zahl als Zeichenfolge. Beispiel: Der Ganzzahlwert "20100401" stellt den ersten Tag des Monats April im Jahr dar.

  6. Die exakten nummerischen Datentypen ohne Vorzeichen (BIT, TINYINT, UNSIGNED SMALLINT UNSIGNED INTEGER und UNSIGNED BIGINT) können nicht in Datumswerte konvertiert werden.

  7. Angenäherte nummerische Werte vom Datentyp REAL, FLOAT oder DOUBLE können in Datumswert konvertiert werden kann, indem die Zahl als die Anzahl der Tage seit dem fiktiven Datum 0000-02-29 behandelt wird. Beispiel: 307 stellt den Datumswert "0001-01-01" dar und 734169 den Datumswert "2010-04-01".

 Siehe auch