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.
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.
Beim Vergleichen eines Werts vom Typ TIMESTAMP, SMALLINT, INTEGER, BIGINT, NUMERIC, REAL, FLOAT oder DOUBLE mit einem DATE-Wert ist der Vergleichsdatentyp immer TIMESTAMP.
Beim Vergleichen eines TIMESTAMP WITH TIME ZONE-Werts mit einem DATE-Wert ist der Vergleichsdatentyp TIMESTAMP WITH TIME ZONE.
Wenn ein Zeitwert in einen TIMESTAMP-Wert konvertiert wird, ist das Ergebnis die Kombination aus dem aktuellen Datum und dem Zeitwert.
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.
Die exakten nummerischen Datentypen ohne Vorzeichen (BIT, TINYINT, UNSIGNED SMALLINT UNSIGNED INTEGER und UNSIGNED BIGINT) können nicht in Datumswerte konvertiert werden.
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".
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |