CURRENT_DATE (Transact-SQL)

Dotyczy: SQL Server 2025 (17.x) Azure SQL DatabaseAzure SQL Managed InstanceSQL Database w usłudze Microsoft Fabric

Funkcja CURRENT_DATE Transact-SQL (T-SQL) zwraca aktualną datę systemu bazy danych jako wartość daty , bez przesunięcia czasu i strefy czasowej bazy danych. CURRENT_DATEwyprowadza tę wartość z systemu operacyjnego, na którym działa Database Engine.

Uwaga / Notatka

SYSDATETIME i SYSUTCDATE mają większą precyzję, mierzoną według dokładności ułamkowej sekund, niż GETDATE i GETUTCDATE. Funkcja SYSDATETIMEOFFSET zawiera przesunięcie strefy czasowej systemu. Można przypisać SYSDATETIMEzmienne , SYSUTCDATETIMEi SYSDATETIMEOFFSET do zmiennej dowolnego typu daty i godziny.

Ta funkcja jest równoważną anSI SQL .CAST(GETDATE() AS DATE) Aby uzyskać więcej informacji, zobacz GETDATE.

Uwaga / Notatka

Azure SQL Database oraz baza danych SQL w Microsoft Fabric wspierają zmianę domyślnej strefy czasowej z uniwersalnego czasu koordynowanego (UTC). Jeśli zmodyfikujesz strefę czasową na poziomie bazy danych lub sesji , ta funkcja zwraca czas lokalny na podstawie skonfigurowanej wartości strefy czasowej. Więcej informacji można znaleźć pod adresem ALTER DATABASE SCOPED CONFIGURATIONSET TIME ZONE.

Zobacz Typy danych i funkcje daty i godziny, aby zapoznać się z omówieniem wszystkich Transact-SQL typów i funkcji danych daty i godziny.

Transact-SQL konwencje składni

Składnia

CURRENT_DATE

Arguments

Ta funkcja nie przyjmuje żadnych argumentów.

Typy zwracane

date

Uwagi

Transact-SQL instrukcje mogą odwoływać się do CURRENT_DATE dowolnego miejsca, w jakim mogą odwoływać się do wyrażenia daty .

CURRENT_DATE jest funkcją nieokreśloną. Nie można indeksować widoków i wyrażeń odwołujących się do tej kolumny.

Przykłady

W tych przykładach użyto funkcji systemowych, które zwracają bieżące wartości daty i godziny, aby zwrócić datę, godzinę lub obie te wartości. Przykłady zwracają wartości w serii, więc ich ułamkowe sekundy mogą się różnić. Zwrócone wartości rzeczywiste odzwierciedlają rzeczywisty dzień/godzinę wykonania.

A. Pobieranie bieżącej daty i godziny systemu

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

Oto zestaw wyników.

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. Pobieranie bieżącej daty systemu

W poniższym przykładzie pokazano, jak przekonwertować wartości daty i godziny na typ danych daty .

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

Oto zestaw wyników.

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