Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací aktuální časové razítko databázového systému jako hodnotu datového času bez posunu časového pásma databáze. Tato hodnota je odvozena z operačního systému počítače, na kterém běží instance SQL Serveru.
Poznámka:
SYSDATETIME a SYSUTCDATETIME mají větší přesnost zlomků sekund než GETDATE a GETUTCDATE. SYSDATETIMEOFFSET zahrnuje posun systémového časového pásma. SYSDATETIME, SYSUTCDATETIME a SYSDATETIMEOFFSET lze přiřadit proměnné libovolného typu data a času.
Azure SQL Database (s výjimkou Azure SQL Managed Instance) a Azure Synapse Analytics následují UTC. Použijte AT TIME ZONE v Azure SQL Database nebo Azure Synapse Analytics, pokud potřebujete interpretovat informace o datu a čase v ne-UTC časovém pásmu.
Přehled všech datových typů a funkcí Transact-SQL data a času najdete v tématu datové typy a funkce data a času (Transact-SQL).
Syntaxe
GETDATE()
Návratový typ
datetime
Poznámky
Transact-SQL příkazy mohou odkazovat na GETDATE kdekoliv, kde mohou odkazovat na výraz datetime .
GETDATE je nedeterministická funkce. Pohledy a výrazy, které tuto funkci odkazují ve sloupci, nelze indexovat.
Použití SWITCHOFFSET s funkcí GETDATE() může způsobit, že dotaz běží pomalu, protože optimalizátor dotazu není schopen získat přesné odhady kardinálnosti pro hodnotu GETDATE. Doporučujeme předpočítat hodnotu GETDATE a poté ji zadat v dotazu, jak je ukázáno v následujícím příkladu. Dále použijte hint OPTION (RECOMPILE), abyste donutili optimalizátor dotazu znovu zkompilovat plán dotazu při dalším provedení stejného dotazu. Optimalizátor pak bude mít přesné odhady kardinálnosti pro GETDATE() a vytvoří efektivnější plán dotazů.
DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00');
SELECT * FROM t
WHERE c1 > @dt OPTION (RECOMPILE);
Examples
Následující příklady používají šest systémových funkcí SYSTÉMU SQL Server, které vracejí aktuální datum a čas k vrácení data, času nebo obojího. Hodnoty jsou vráceny v řadě; proto se jejich zlomkové sekundy můžou lišit.
A. Získání aktuálního data a času systému
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
Tady je soubor výsledků.
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. Získání aktuálního systému data
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
Tady je soubor výsledků.
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. Získání aktuálního systémového času
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, SYSDATETIMEOFFSET())
,CONVERT (time, SYSUTCDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE())
,CONVERT (time, GETUTCDATE());
Tady je soubor výsledků.
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říklady: Azure Synapse Analytics a Analytický platformový systém (PDW)
Následující příklady využívají tři funkce systému SQL Server, které vracejí aktuální datum a čas a vracejí datum, čas nebo obojí. Hodnoty jsou vráceny v řadě; proto se jejich zlomkové sekundy můžou lišit.
D. Získání aktuálního data a času systému
SELECT SYSDATETIME()
,CURRENT_TIMESTAMP
,GETDATE();
E. Získání aktuálního systému data
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE());
F. Získání aktuálního systémového času
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE());