Delen via


SYSDATETIMEOFFSET (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database in Microsoft Fabric

Geeft een datetimeoffset(7)- waarde terug die de datum en tijd bevat van de computer waarop de instantie van SQL Server draait. De tijdzone-offset is inbegrepen.

Zie datum- en tijdgegevenstypen en -functies (Transact-SQL)voor een overzicht van alle Transact-SQL datum- en tijdgegevenstypen en -functies.

Transact-SQL syntaxis-conventies

Syntaxis

SYSDATETIMEOFFSET ( )  

Retourtype

datetimeoffset(7)

Opmerkingen

Transact-SQL statements kunnen overal verwijzen naar SYSDATETIMEOFFSET waar ze kunnen verwijzen naar een datetimeoffset-expressie .

SYSDATETIMEOFFSET is een niet-deterministische functie. Views en expressies die naar deze functie in een kolom verwijzen, kunnen niet worden geïndexeerd.

Opmerking

SQL Server verkrijgt de datum- en tijdwaarden door gebruik te maken van de GetSystemTimeAsFileTime() Windows API. De nauwkeurigheid is afhankelijk van de computerhardware en -versie van Windows waarop het exemplaar van SQL Server wordt uitgevoerd. De precisie van deze API is opgelost op 100 nanoseconden. De nauwkeurigheid kan worden bepaald met behulp van de GetSystemTimeAdjustment() Windows API.

Voorbeelden

In de volgende voorbeelden worden de zes SQL Server-systeemfuncties gebruikt die de huidige datum en tijd retourneren om de datum, tijd of beide te retourneren. De waarden worden geretourneerd in reeksen; daarom kunnen de fractionele seconden anders zijn.

Eén. Het tonen van de formaten die worden teruggegeven door de datum- en tijdfuncties

In het volgende voorbeeld ziet u de verschillende indelingen die worden geretourneerd door de datum- en tijdfuncties.

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

Hier is het resultatenoverzicht.

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. Datum en tijd omzetten naar datum

Het volgende voorbeeld laat zien hoe je datum- en tijdwaarden kunt omzetten naar date.

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

Hier is het resultatenoverzicht.

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

C. Datum en tijd omzetten naar tijden

Het volgende voorbeeld laat zien hoe je datum- en tijdwaarden kunt omzetten naar time.

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

Hier is het resultatenoverzicht.

SYSDATETIME()      13:18:45.3490361
SYSDATETIMEOFFSET()13:18:45.3490361
SYSUTCDATETIME()   20:18:45.3490361
CURRENT_TIMESTAMP  13:18:45.3470000
GETDATE()          13:18:45.3470000
GETUTCDATE()       20:18:45.3470000

Zie ook

CAST en CONVERTEREN (Transact-SQL)
Datum- en tijdgegevenstypen en -functies (Transact-SQL)