SYSUTCDATETIME (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Gibt einen datetime2-Wert zurück, der das Datum und die Uhrzeit des Computers enthält, auf dem die Instanz von SQL Server ausgeführt wird. Das Datum und die Uhrzeit werden als UTC-Zeit (Koordinierte Weltzeit) zurückgegeben. Die Angabe der Genauigkeit in Sekundenbruchteilen erfolgt in einem Bereich von 1 bis 7 Stellen. Die Standardgenauigkeit beträgt 7 Stellen.

Hinweis

SYSDATETIME und SYSUTCDATETIME weisen eine höhere Genauigkeit bezüglich der Bruchteile von Sekunden auf als GETDATE und GETUTCDATE. SYSDATETIMEOFFSET schließt den Zeitzonenoffset des Systems ein. SYSDATETIME, SYSUTCDATETIME und SYSDATETIMEOFFSET können einer Variablen eines beliebigen Datums- und Zeittyps zugewiesen werden.

Eine Übersicht über alle Datums- und Uhrzeitdatentypen und zugehörige Funktionen für Transact-SQL finden Sie unter Datums- und Uhrzeitdatentypen und Funktionen.

Transact-SQL-Syntaxkonventionen

Syntax

SYSUTCDATETIME ( )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) oder früher finden Sie unter Dokumentation zu früheren Versionen.

Rückgabetyp

datetime2

Hinweise

Transact-SQL-Anweisungen können auf eine beliebige Position von SYSUTCDATETIME verweisen, an der auf einen datetime2-Ausdruck verwiesen werden kann.

SYSUTCDATETIME ist eine nicht deterministische Funktion. Sichten und Ausdrücke, die in einer Spalte auf diese Funktion 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() AS [SYSDATETIME()]  
    ,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]  
    ,SYSUTCDATETIME() AS [SYSUTCDATETIME()]  
    ,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]  
    ,GETDATE() AS [GETDATE()]  
    ,GETUTCDATE() AS [GETUTCDATE()];  

Hier ist das Resultset.

SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

B. Konvertieren von Datums- und Uhrzeitwerten in date

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());  

Hier ist das Resultset.

2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30

C. Konvertieren von Datums- und Uhrzeitwerten in time

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

DECLARE @DATETIME DATETIME = GetDate();
DECLARE @TIME TIME
SELECT @TIME = CONVERT(time, @DATETIME)
SELECT @TIME AS 'Time', @DATETIME AS 'Date Time'

Hier ist das Resultset.

Time             Date Time  
13:49:33.6330000 2009-04-22 13:49:33.633

Weitere Informationen

CAST und CONVERT (Transact-SQL)
Datums- und Uhrzeitdatentypen und zugehörige Funktionen (Transact-SQL)
AT TIME ZONE (Transact-SQL)