SYSDATETIMEOFFSET (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-Datenbank in Microsoft Fabric

Die SYSDATETIMEOFFSET Transact-SQL (T-SQL)-Funktion liefert einen Datetimeoffset(7)-Wert, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server läuft. Der Zeitzonenoffset wird einbezogen.

Eine Übersicht über alle Transact-SQL Datentypen und Funktionen für Datum und Uhrzeit finden Sie unter Datums- und Uhrzeitdatentypen und -funktionen.

Transact-SQL-Syntaxkonventionen

Syntax

SYSDATETIMEOFFSET ( )

Rückgabetypen

datetimeoffset(7)

Hinweise

Transact-SQL-Anweisungen können auf eine beliebige Position von SYSDATETIMEOFFSET verweisen, die sie an einen datetimeoffset-Ausdruck weiterleiten können.

SYSDATETIMEOFFSET ist eine nicht deterministische Funktion. Ansichten und Ausdrücke, die auf diese Funktion in einer Spalte verweisen, können nicht indiziert werden.

Hinweis

SQL Server ruft die Datums- und Zeitwerte mithilfe der GetSystemTimeAsFileTime()-Windows-API ab. Die Genauigkeit hängt von der Computerhardware und der Windows-Version ab, unter der die Instanz von SQL Server ausgeführt wird. Die Genauigkeit dieser API liegt bei 100 Nanosekunden. Die Genauigkeit kann mithilfe der GetSystemTimeAdjustment()-Windows-API festgestellt werden.

Beispiele

In den folgenden Beispielen werden die sechs SQL Server-Systemfunktionen verwendet, die das aktuelle Datum, die aktuelle Uhrzeit oder beides zurückgeben. Die Werte werden der Reihe nach zurückgegeben und können sich daher in Bruchteilen von Sekunden unterscheiden.

A. Anzeigen der Formate, die von den Datums- und Uhrzeitfunktionen zurückgegeben werden

Das folgende Beispiel zeigt verschiedene Formatwerte, die von den Datums- und Zeitfunktionen zurückgegeben werden.

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Hier sehen Sie das Ergebnis.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Konvertieren von Datum und Uhrzeit in Datum

Das folgende Beispiel zeigt, wie Sie Datums- und Uhrzeitwerte in date konvertieren.

SELECT CONVERT (DATE, SYSDATETIME()),
       CONVERT (DATE, SYSDATETIMEOFFSET()),
       CONVERT (DATE, SYSUTCDATETIME()),
       CONVERT (DATE, CURRENT_TIMESTAMP),
       CONVERT (DATE, GETDATE()),
       CONVERT (DATE, GETUTCDATE()),
       CURRENT_DATE;

Hier sehen Sie das Ergebnis.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

C. Datum und Zeit in Zeiten umrechnen

Das folgende Beispiel zeigt, wie Sie Datums- und Uhrzeitwerte in time konvertieren.

SELECT CONVERT (TIME, SYSDATETIME()),
       CONVERT (TIME, SYSDATETIMEOFFSET()),
       CONVERT (TIME, SYSUTCDATETIME()),
       CONVERT (TIME, CURRENT_TIMESTAMP),
       CONVERT (TIME, GETDATE()),
       CONVERT (TIME, GETUTCDATE());

Hier sehen Sie das Ergebnis.

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740