Dela via


SYSUTCDATETIME (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Förhandsversion av Microsoft Fabric

Returnerar ett datetime2-värde som innehåller datum och tid för den dator där SQL Server-instansen körs. Datum och tid returneras som UTC-tid (samordnad universell tid). Precisionsspecifikationen för bråkdels sekund har ett intervall från 1 till 7 siffror. Standardprecisionen är 7 siffror.

Tänk på att:

  • SYSDATETIME och SYSUTCDATETIME har mer precision i bråkdels sekunder än GETDATE och GETUTCDATE.

  • SYSDATETIMEOFFSET inkluderar systemets tidszonsförskjutning.

  • SYSDATETIME, SYSUTCDATETIMEoch SYSDATETIMEOFFSET kan tilldelas till en variabel av någon av datum- och tidstyperna.

En översikt över alla Transact-SQL datatyper och funktioner för datum och tid finns i Datatyper och funktioner för datum och tid.

Transact-SQL syntaxkonventioner

Syntax

SYSUTCDATETIME ( )

Returtyper

datetime2

Remarks

Transact-SQL-instruktioner kan referera till SYSUTCDATETIME var de än kan referera till ett datetime2-uttryck .

SYSUTCDATETIME är en nondeterministisk funktion. Vyer och uttryck som refererar till den här funktionen i en kolumn kan inte indexeras.

Note

SQL Server hämtar datum- och tidsvärdena med hjälp av Windows-API:et GetSystemTimeAsFileTime() . Noggrannheten beror på datorns maskinvara och version av Windows som SQL Server-instansen körs på. Precisionen för det här API:et är fast vid 100 nanosekunder. Noggrannheten kan fastställas med hjälp av Windows-API:et GetSystemTimeAdjustment() .

Examples

I följande exempel används de sex SQL Server-systemfunktioner som returnerar aktuellt datum och tid för att returnera datum, tid eller båda. Värdena returneras i serie. Därför kan deras bråksekunder vara olika.

A. Visa de format som returneras av datum- och tidsfunktionerna

I följande exempel visas de olika format som returneras av datum- och tidsfunktionerna.

SELECT SYSDATETIME() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Här är resultatet.

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. Konvertera datum och tid till datum

I följande exempel visas hur du konverterar datum- och tidsvärden till datumdatatypen .

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

Här är resultatet.

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

C. Konvertera datum- och tidsvärden till tid

I följande exempel visas hur du konverterar datum- och tidsvärden till tidsdatatypen.

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

Här är resultatet.

Time             Date Time
13:49:33.6330000 2025-10-20 13:49:33.633