Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Visszaadja az aktuális adatbázis rendszer időbélyegét dátum-idő értékként az adatbázis időzóna eltolása nélkül. Ez az érték az SQL Server példánya futó számítógép operációs rendszeréből származik.
Megjegyzés:
A SYSDATETIME és a SYSUTCDATETIME törtmásodperces pontossággal rendelkezik, mint a GETDATE és a GETUTCDATE. A SYSDATETIMEOFFSET tartalmazza a rendszer időzóna eltérését. A SYSDATETIME, SYSUTCDATETIME és SYSDATETIMEOFFSET bármely date és time típusú változóhoz rendelhetők.
Az Azure SQL Database (kivéve Azure SQL Managed Instance) és Azure Synapse Analytics követi az UTC-t. Ha nem UTC időzónában kell értelmezni a dátum- és időinformációt, használd az AT TIME ZONE vagy Azure Synapse Analytics programokat.
Az összes Transact-SQL dátum- és időadattípus és -függvény áttekintése: Dátum- és időadattípusok és függvények (Transact-SQL).
Transact-SQL szintaxis konvenciók
Szemantika
GETDATE()
Visszatérési típus
datetime
Megjegyzések
Transact-SQL utasítások bárhol hivatkozhatnak a GETDATE-re, ahol egy dátumidő-kifejezésre hivatkozhatnak.
A GETDATE egy nemdeterminisztikus függvény. Az oszlopban hivatkozó nézetek és kifejezések nem indexelhetők.
A SWITCHOFFSET használata a GETDATE() függvénnyel lassan futhat, mert a lekérdezésoptimalizáló nem tud pontos kardinalitásbecsléseket elérni a GETDATE értékre. Javasoljuk, hogy előre számolja ki a GETDATE értéket, majd megadja ezt a lekérdezésben, ahogy az alábbi példában látható. Ezen felül az OPTION (RECOMPILE) lekérdezési tippet használjuk, hogy kényszerítsd a lekérdezésoptimalizálót arra, hogy a következő alkalommal ugyanazt a lekérdezést végrehajtják. Az optimalizáló ezután pontos kardinalitás-becsléseket kap a GETDATE() számára, és hatékonyabb lekérdezési tervet készít.
DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00');
SELECT * FROM t
WHERE c1 > @dt OPTION (RECOMPILE);
Példák
Az alábbi példák a hat SQL Server rendszerfüggvényt használják, amelyek az aktuális dátumot és időt adják vissza a dátum, az idő vagy mindkettő visszaadásához. Az értékek sorozatban jelennek meg; ezért a tört másodpercük eltérő lehet.
A. A jelenlegi rendszer dátumának és időpontjának megszerzése
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
Itt van az eredmények összessége.
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. A jelenlegi rendszer dátumának megszerzése
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
Itt van az eredmények összessége.
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. A jelenlegi rendszer idő megszerzése
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, SYSDATETIMEOFFSET())
,CONVERT (time, SYSUTCDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE())
,CONVERT (time, GETUTCDATE());
Itt van az eredmények összessége.
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
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
Az alábbi példák a három SQL Server rendszerfunkciót használják, amelyek visszaadják az aktuális dátumot és az időt, hogy visszaadják a dátumot, az időt, vagy mindkettőt. Az értékek sorozatban jelennek meg; ezért a tört másodpercük eltérő lehet.
D. A jelenlegi rendszer dátumának és időpontjának megszerzése
SELECT SYSDATETIME()
,CURRENT_TIMESTAMP
,GETDATE();
E. A jelenlegi rendszer dátumának megszerzése
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE());
F. A jelenlegi rendszer idő megszerzése
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE());