Delen via


SYSDATETIME (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Geeft een datetime2(7)- waarde terug die de datum en tijd bevat van de computer waarop de instantie van SQL Server draait.

Opmerking

SYSDATETIME en SYSUTCDATETIME hebben een hogere precisie in fracties van seconden dan GETDATE en GETUTCDATE. SYSDATETIMEOFFSET omvat de systeemtijdzone-offset. SYSDATETIME, SYSUTCDATETIME en SYSDATETIMEOFFSET kunnen worden toegewezen aan een variabele van elk van de datum- en tijdtypes.

Azure SQL Database (met uitzondering van Azure SQL Managed Instance) en Azure Synapse Analytics volgen op UTC. Gebruik AT TIME ZONE in Azure SQL Database of Azure Synapse Analytics als je datum- en tijdinformatie wilt interpreteren in een niet-UTC tijdzone.

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

SYSDATETIME ( )  

Retourtype

datetime2(7)

Opmerkingen

Transact-SQL-instructies kunnen overal naar SYSDATETIME verwijzen, ze kunnen verwijzen naar een datetime2(7)- uitdrukking.

SYSDATETIME 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

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

Eén. Het verkrijgen van de huidige systeemdatum en -tijd

SELECT SYSDATETIME()  
    ,SYSDATETIMEOFFSET()  
    ,SYSUTCDATETIME()  
    ,CURRENT_TIMESTAMP  
    ,GETDATE()  
    ,GETUTCDATE();  
/* Returned:  
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. Het huidige systeemdatum verkrijgen

SELECT CONVERT (date, SYSDATETIME())  
    ,CONVERT (date, SYSDATETIMEOFFSET())  
    ,CONVERT (date, SYSUTCDATETIME())  
    ,CONVERT (date, CURRENT_TIMESTAMP)  
    ,CONVERT (date, GETDATE())  
    ,CONVERT (date, GETUTCDATE());  
  
/* All returned 2007-04-30 */  

C. De huidige systeemtijd krijgen

SELECT CONVERT (time, SYSDATETIME())  
    ,CONVERT (time, SYSDATETIMEOFFSET())  
    ,CONVERT (time, SYSUTCDATETIME())  
    ,CONVERT (time, CURRENT_TIMESTAMP)  
    ,CONVERT (time, GETDATE())  
    ,CONVERT (time, GETUTCDATE());  
  
/* Returned  
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  
*/  

Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)

D: Het verkrijgen van de huidige systeemdatum en -tijd

SELECT SYSDATETIME();  

Hier is het resultatenoverzicht.

--------------------------  
7/20/2013 2:49:59 PM

Zie ook

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