datetime-Datentypkonvertierungen (ODBC)
Gilt für: SQL Server
Azure SQL-Datenbank
Azure SQL verwaltete Instanz
Azure Synapse Analytics Analytics
Platform System (PDW)
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" der Unterstützung des Datentyps für ODBC-Datums- und Uhrzeitverbesserungen.
Folgende sind allgemeine Konvertierungsregeln:
Wenn keine Zeit 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. Beachten Sie, dass sich dies vom Serververhalten unterscheidet.
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 jedoch 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 Probleme auf, die beim Konvertieren von C-Typen in SQL Server-Daten-/Zeittypen berücksichtigt werden müssen.
Konvertierungen von SQL in C
Listet Probleme auf, die beim Konvertieren von SQL Server-Daten-/Zeittypen in C-Typen berücksichtigt werden müssen.