SQL Anywhere verfügt über mehrere Funktionen für die Konvertierung der SQL Anywhere Datums- und Zeitwerte in die unterschiedlichsten Zeichenfolgen und andere Ausdrücke. Bei der Konvertierung eines Datumswerts in eine Zeichenfolge kann der Jahresanteil in eine zweistellige Jahresangabe konvertiert werden, sodass die Jahrhundertangabe entfällt.
Sehen Sie sich folgende Anweisung an, in der eine Zeichenfolge, die das Datum 1. Januar 2000 darstellt, fehlerhaft in eine Zeichenfolge umgewandelt wird, die das Datum 1. Januar 1900 darstellt, obwohl kein Datenbankfehler ausgegeben wird.
SELECT DATEFORMAT ( DATEFORMAT('2000-01-01', 'Mmm dd/yy' ), 'yyyy-Mmm-dd' ) AS Wrong_year; |
SQL Anywhere wandelt automatisch und korrekterweise die eindeutige Datumsangabe 2000-01-01 in einen Datumswert um. Die Formatierung 'Mmm dd/yy' der inneren oder verschachtelten DATEFORMAT-Funktion lässt den Jahrhundert-Bestandteil des Datums weg, wenn die Rückkonvertierung in eine Zeichenfolge erfolgt und diese dann an die äußere DATEFORMAT-Funktion übergeben wird.
Da die nearest_century-Datenbankoption in diesem Fall auf 0 gesetzt ist, konvertiert die äußere DATEFORMAT-Funktion die Zeichenfolge, die ein Datum mit einem zweistelligen Jahreswert repräsentiert, in ein Jahr zwischen 1900 und 1999.
Weitere Hinweise zu Datums- und Zeitfunktionen finden Sie unter Datums- und Zeitfunktionen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |