Share via


datetime-Datentypkonvertierungen (ODBC)

Die folgenden Konvertierungen sind entweder bereits von ODBC definiert oder stellen eine konsistente Erweiterung von ODBC dar. Die von den einzelnen Anbietern bereitgestellten Konvertierungen werden vom Benutzerkreis beeinflusst und weisen daher oft Inkonsistenzen untereinander auf. Werte in eckigen Klammern sind optional.

  • Das Format von datetime-Zeichenfolgen ist 'yyyy-mm-dd[hh:mm:ss[.9999999][Plus/Minus hh:mm]]'

  • Das Format von Uhrzeitzeichenfolgen ist 'hh:mm:ss[.9999999]'

  • Das Format von Datumszeichenfolgen ist 'yyyy-mm-dd'.

Konvertierungen von Zeichenfolgen ermöglichen Flexibilität bei Leerstellen- und Feldbreite. Weitere Informationen finden Sie im Abschnitt "Datenformate: Zeichenfolgen und Literale" unter Datentypunterstützung für ODBC-Verbesserungen bei Datum/Uhrzeit.

Es folgen einige allgemeine Konvertierungsregeln:

  • Wenn keine Zeitangabe vorhanden ist, der Empfänger aber Zeit speichern kann, wird die Zeit auf 0 (null) festgelegt.

  • Wenn keine Datumsangabe vorhanden ist, der Empfänger aber das Datum speichern kann, wird das aktuelle Datum verwendet.

  • Wenn in dem vom Client verwendeten Datentyp keine Zeitzone vorhanden ist, der Server aber eine Zeitzone speichern kann, wird das Datum in der Clientzeitzone gespeichert. Dieses Verhalten unterscheidet sich vom Serververhalten.

  • Wenn in dem vom Server verwendeten Datentyp keine Zeitzone vorhanden ist, der Datentyp auf dem Client aber eine Zeitzone aufweist, wird die Zeit in UTC konvertiert, bevor sie auf dem Server gespeichert wird.

  • Wenn die Zeit vorhanden ist, der Empfänger aber keine Zeit speichern kann, wird die Zeitkomponente ignoriert.

  • Wenn ein Datum vorhanden ist, der Empfänger aber kein Datum speichern kann, wird die Datumskomponente ignoriert.

  • Wenn es bei der Konvertierung von C in SQL zum Abschneiden von Sekunden oder Sekundenbruchteilen kommt, wird ein Diagnosedatensatz mit SQLSTATE 22008 und der Meldung "Überlauf im Datetime-Feld" generiert.

  • Wenn es bei der Konvertierung von SQL in C zum Abschneiden von Sekunden oder Sekundenbruchteilen kommt, wird ein Diagnosedatensatz mit SQLSTATE 01S07 und der Meldung "Teilbereiche wurden abgeschnitten" generiert.

In diesem Abschnitt

  • Konvertierungen von C in SQL
    Listet Punkte auf, die bei der Konvertierung von C-Typen in Datum-/Uhrzeit-Typen für SQL Server zu berücksichtigen sind.

  • Konvertierungen von SQL in C
    Listet Punkte auf, die bei der Konvertierung von SQL Server-Datum-/Uhrzeit-Typen in C-Typen zu berücksichtigen sind.