CURRENT_DATE (Transact-SQL)

Platí pro: SQL Server 2025 (17.x) Azure SQL Database Azure SQLManaged InstanceSQL Database v Microsoft Fabric

Funkce CURRENT_DATE Transact-SQL (T-SQL) vrací aktuální datum databázového systému jako datovou hodnotu, bez posunu času a časového pásma databáze. CURRENT_DATEtuto hodnotu odvozuje z operačního systému, na kterém Database Engine běží.

Poznámka:

SYSDATETIME a SYSUTCDATE mají větší přesnost, jak je měřeno pomocí přesnosti desetinné sekundy, než GETDATE a GETUTCDATE. Tato SYSDATETIMEOFFSET funkce zahrnuje posun systémového časového pásma. Můžete přiřadit SYSDATETIME, SYSUTCDATETIMEa SYSDATETIMEOFFSET proměnné libovolného typu data a času.

Tato funkce je ekvivalentem jazyka ANSI SQL .CAST(GETDATE() AS DATE) Další informace naleznete v tématu GETDATE.

Poznámka:

Azure SQL Database a SQL databáze v Microsoft Fabric podporují změnu výchozího časového pásma z univerzálního koordinovaného času (UTC). Pokud časové pásmo upravíte na úrovni databáze nebo relace , tato funkce vrací lokální čas na základě nastavené hodnoty časového pásma. Pro více informací viz ALTER DATABASE SCOPED CONFIGURATIONaSET TIME ZONE.

Přehled všech Transact-SQL datových typů a funkcí data a času najdete v tématu Datové typy a funkce data a času data a času.

Transact-SQL konvence syntaxe

Syntaxe

CURRENT_DATE

Arguments

Tato funkce nepřijímá žádné argumenty.

Návratové typy

date

Poznámky

Transact-SQL příkazy můžou odkazovat na CURRENT_DATE libovolné místo, kde mohou odkazovat na výraz data .

CURRENT_DATE je nedetermintická funkce. Zobrazení a výrazy odkazované na tento sloupec nelze indexovat.

Examples

Tyto příklady používají systémové funkce, které vracejí aktuální hodnoty data a času, k vrácení data, času nebo obojího. Příklady vracejí hodnoty v řadě, takže se jejich zlomkové sekundy můžou lišit. Skutečné hodnoty vrácené odrážejí skutečný den a čas spuštění.

A. Získání aktuálního systémového data a času

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Tady je soubor výsledků.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Získání aktuálního systémového data

Následující příklad ukazuje, jak převést hodnoty data a času na datový typ data .

SELECT CONVERT (DATE, SYSDATETIME()),
       CONVERT (DATE, SYSDATETIMEOFFSET()),
       CONVERT (DATE, SYSUTCDATETIME()),
       CONVERT (DATE, CURRENT_TIMESTAMP),
       CONVERT (DATE, GETDATE()),
       CONVERT (DATE, GETUTCDATE()),
       CURRENT_DATE;

Tady je soubor výsledků.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01