Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft de huidige databasesysteem-tijdstempel terug als een datum-tijdwaarde zonder de tijdzone-verschuiving van de database. Deze waarde is afgeleid van het besturingssysteem 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
GETDATE()
Retourtype
datetime
Opmerkingen
Transact-SQL statements kunnen overal naar GETDATE verwijzen, ze kunnen verwijzen naar een datetime-expressie .
GETDATE is een niet-deterministische functie. Views en expressies die naar deze functie in een kolom verwijzen, kunnen niet worden geïndexeerd.
Het gebruik van SWITCHOFFSET met de functie GETDATE() kan ervoor zorgen dat de query langzaam loopt omdat de queryoptimizer geen nauwkeurige cardinaliteitsschattingen voor de GETDATE-waarde kan verkrijgen. We raden aan om de GETDATE-waarde vooraf te berekenen en die waarde vervolgens in de query te specificeren zoals in het volgende voorbeeld te zien. Gebruik daarnaast de OPTION (RECOMPILE) queryhint om de queryoptimizer te dwingen een queryplan opnieuw te compileren bij de volgende uitvoering van dezelfde query. De optimizer zal dan nauwkeurige cardinaliteitsschattingen voor GETDATE() hebben en een efficiënter queryplan produceren.
DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00');
SELECT * FROM t
WHERE c1 > @dt OPTION (RECOMPILE);
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 verkrijgen van de huidige systeemdatum en -tijd
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,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. Het huidige systeemdatum verkrijgen
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
Hier is het resultatenoverzicht.
SYSDATETIME() 2007-05-03
SYSDATETIMEOFFSET() 2007-05-03
SYSUTCDATETIME() 2007-05-04
CURRENT_TIMESTAMP 2007-05-03
GETDATE() 2007-05-03
GETUTCDATE() 2007-05-04
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());
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
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
De volgende voorbeelden gebruiken de drie 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.
D. Het verkrijgen van de huidige systeemdatum en -tijd
SELECT SYSDATETIME()
,CURRENT_TIMESTAMP
,GETDATE();
E. Het huidige systeemdatum verkrijgen
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE());
F. De huidige systeemtijd krijgen
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE());