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
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Vrací hodnotu datetimeoffset(7), která obsahuje datum a čas počítače, na kterém běží instance SQL Serveru. Zahrnuto je i časové pásmo.
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
SYSDATETIMEOFFSET ( )
Návratový typ
datetimeoffset(7)
Poznámky
Transact-SQL příkazy mohou odkazovat na SYSDATETIMEOFFSET kdekoli, kde mohou odkazovat na výraz datetimeoffset .
SYSDATETIMEOFFSET je nedeterministická funkce. Pohledy a výrazy, které tuto funkci odkazují ve sloupci, nelze indexovat.
Poznámka:
SQL Server získává hodnoty data a času pomocí Windows API GetSystemTimeAsFileTime(). Přesnost závisí na hardwaru počítače a verzi Windows, na které je spuštěná instance SQL Serveru. Přesnost tohoto rozhraní API je pevná na 100 nanosekundách. Přesnost lze zjistit pomocí Windows API GetSystemTimeAdjustment().
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. Zobrazení formátů, které jsou vráceny funkcemi data a času
Následující příklad ukazuje různé formáty, které vrací funkce data a času.
SELECT SYSDATETIME() AS [SYSDATETIME()]
,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]
,SYSUTCDATETIME() AS [SYSUTCDATETIME()]
,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]
,GETDATE() AS [GETDATE()]
,GETUTCDATE() AS [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. Převod data a času od začátku
Následující příklad vám ukáže, jak převést hodnoty data a času na date.
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ů.
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
C. Převod data a času na časy
Následující příklad vám ukáže, jak převést hodnoty data a času na 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()];
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
Viz také
CAST a CONVERT (Transact-SQL)
Datové a časové typy a funkce (Transact-SQL)