Freigeben über


SYSUTCDATETIME (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus 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.

Erwägen:

  • 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 Datentypen und Funktionen für Datum und Uhrzeit finden Sie unter Datums- und Uhrzeitdatentypen und -funktionen.

Transact-SQL-Syntaxkonventionen

Syntax

SYSUTCDATETIME ( )

Rückgabetypen

datetime2

Remarks

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

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

Note

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.

Examples

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

SYSDATETIME()       2025-10-20 13:10:02.0474381
SYSDATETIMEOFFSET() 2025-10-20 13:10:02.0474381 -07:00
SYSUTCDATETIME()    2025-10-20 20:10:02.0474381
CURRENT_TIMESTAMP   2025-10-20 13:10:02.047
GETDATE()           2025-10-20 13:10:02.047
GETUTCDATE()        2025-10-20 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.

2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20

C. Konvertieren von Datums- und Uhrzeitwerten in Uhrzeit

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

DECLARE @DATETIME AS DATETIME = GetDate();
DECLARE @TIME AS 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 2025-10-20 13:49:33.633