Verbesserungen bei Datum und Uhrzeit
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
In diesem Artikel wird die Unterstützung der neuen Datums- und Uhrzeitdatentypen durch den OLE DB-Treiber für SQL Server erläutert, die in SQL Server 2008 (10.0.x) hinzugefügt wurden.
Weitere Informationen zu Verbesserungen hinsichtlich Datum und Zeit finden Sie unter Verbesserungen bei Datum und Uhrzeit (OLE DB).
Verwendung
In den folgenden Abschnitten werden verschiedene Methoden zur Verwendung der neuen Datums- und Uhrzeittypen beschrieben.
Verwenden von 'Date' als eindeutigen Datentyp
Ab SQL Server 2008 (10.0.x) ist die Verwendung des OLE DB-Typs „DBTYPE_DBDATE“ durch die verbesserte Unterstützung von Datums- und Uhrzeittypen effizienter geworden.
Verwenden von 'Time' als eindeutigen Datentyp
OLE DB verfügt bereits über einen Datentyp, der nur die Zeit enthält: DBTYPE_DBTIME, der die Zeit mit einer Genauigkeit von 1 Sekunde angibt.
Der neue SQL Server-Zeitdatentyp verfügt über eine Genauigkeit in Sekundenbruchteilen von bis zu 100 Nanosekunden. Hierfür ist im OLE DB-Treiber für SQL Server ein neuer Typ erforderlich: DBTYPE_DBTIME2 Vorhandene Anwendungen, in denen Zeitdaten nicht in Sekundenbruchteilen angegeben werden, können time(0)-Spalten verwenden. Der vorhandene OLE DB DBTYPE_TIME-Typ und seine entsprechenden Strukturen sollten richtig funktionieren, sofern sich die Anwendungen nicht auf den in den Metadaten zurückgegebenen Typ verlassen.
Verwenden von 'Time' als eindeutigen Datentyp mit einer Genauigkeit in Sekundenbruchteilen
Einige Anwendungen, z. B. in der Fertigung und Prozesssteuerung, erfordern die Fähigkeit, Zeitdaten mit einer Genauigkeit von bis zu 100 Nanosekunden zu verarbeiten. Der neue Typ für diesen Zweck in OLE DB ist DBTYPE_DBTIME2.
Verwenden von 'Datetime' mit einer Genauigkeit in Sekundenbruchteilen
OLE DB definiert bereits einen Typ mit einer Genauigkeit von bis zu 1 Nanosekunde. Dieser Typ wird jedoch bereits von vorhandenen SQL Server-Anwendungen verwendet, die eine Genauigkeit von lediglich 1/300 Sekunde erwarten. Der neue datetime2(3) -Typ ist nicht direkt kompatibel mit dem vorhandenen datetime-Typ. Wenn das Risiko besteht, dass sich dies auf das Verhalten der Anwendung auswirkt, müssen Anwendungen das neue DBCOLUMN-Flag zur Bestimmung des tatsächlichen Servertyps verwenden.
Verwenden von 'Datetime' mit einer Genauigkeit in Sekundenbruchteilen und Zeitzoneninformationen
Einige Anwendungen erfordern datetime-Werte mit Zeitzoneninformationen. Dies wird im neuen Typ DBTYPE_DBTIMESTAMPOFFSET unterstützt.
Verwenden von 'Date'-/'Time'-/'Datetime'-/'Datetimeoffset'-Daten mit clientseitigen Konvertierungen in Übereinstimmung mit vorhandenen Konvertierungen
Die Konvertierungen wurden einheitlich erweitert, damit alle in SQL Server 2008 (10.0.x) eingeführten Konvertierungen zwischen Datums- und Zeittypen enthalten sind.