Freigeben über


SYSUTCDATETIME (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricWarehouse in Microsoft FabricSQL-Datenbank in Microsoft Fabric

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 haben mehr Sekundenpräzision als GETDATE und GETUTCDATE.

SYSDATETIMEOFFSET enthält den Offset der Systemzeitzone.

SYSDATETIME, SYSUTCDATETIMEund SYSDATETIMEOFFSET kann einer Variablen eines der Datums- und Uhrzeittypen zugewiesen werden.

Eine Übersicht über alle Transact-SQL Datums- und Uhrzeitdatentypen und -funktionen finden Sie unter Datums- und Uhrzeitdatentypen und -funktionen (Transact-SQL).

Transact-SQL-Syntaxkonventionen

Syntax

SYSUTCDATETIME ( )  

Rückgabetyp

datetime2

Hinweise

Transact-SQL-Anweisungen können an beliebiger Stelle auf SYSUTCDATETIME einen Datetime2-Ausdruck verweisen.

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 Uhrzeitwerte 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 bestimmt 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.

Ein. 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 sehen Sie das Ergebnis.

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 Datum und Uhrzeit in Datum

Das folgende Beispiel zeigt, wie Datums- und Uhrzeitwerte in den Datentyp "Datum " konvertiert werden.

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

Hier sehen Sie das Ergebnis.

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 Uhrzeit

Das folgende Beispiel zeigt, wie Datums- und Uhrzeitwerte in den Datentyp "time*" konvertiert werden.

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

Hier sehen Sie das Ergebnis.

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