CURRENT_DATE (Transact-SQL)

Gilt für: SQL Server 2025 (17.x) Azure SQL-Datenbank AzureSQL Managed InstanceSQL SQL-Datenbank in Microsoft Fabric

Die CURRENT_DATE Transact-SQL (T-SQL)-Funktion gibt das aktuelle Datenbanksystemdatum als Datumswert zurück, ohne den Versatz von Datenbankzeit- und Zeitzonen. CURRENT_DATEleitet diesen Wert vom zugrunde liegenden Betriebssystem ab, auf dem die Datenbank-Engine läuft.

Hinweis

SYSDATETIME und SYSUTCDATE haben, weil sie in Sekundenbruchteilen gemessen werden, eine höhere Genauigkeit als GETDATE und GETUTCDATE. Die SYSDATETIMEOFFSET-Funktion berücksichtigt den Zeitzonenoffset des Systems. Sie können SYSDATETIME, SYSUTCDATETIME und SYSDATETIMEOFFSET einer Variablen zuweisen, die einen der Datums- und Uhrzeittypen hat.

Diese Funktion ist die ANSI SQL-Entsprechung zu CAST(GETDATE() AS DATE). Weitere Informationen finden Sie unter GETDATE.

Hinweis

Azure SQL-Datenbank und SQL Database in Microsoft Fabric unterstützen die Änderung der Standardzeitzone von universeller koordinierter Zeit (UTC). Wenn Sie die Zeitzone auf Datenbank- oder Sitzungsebene ändern, gibt diese Funktion lokale Zeit basierend auf dem konfigurierten Zeitzonenwert zurück. Weitere Informationen finden ALTER DATABASE SCOPED CONFIGURATION Sie unter TIMESET ZONE.

Unter Datums- und Uhrzeitdatentypen und -funktionen finden Sie eine Übersicht über alle Transact-SQL-Datums- und Uhrzeitdatentypen und -funktionen.

Transact-SQL-Syntaxkonventionen

Syntax

CURRENT_DATE

Argumente

Diese Funktion akzeptiert keine Argumente.

Rückgabetypen

date

Hinweise

Transact-SQL-Anweisungen können an beliebiger Stelle auf CURRENT_DATE einen Datumsausdruck verweisen.

CURRENT_DATE ist eine nichtdeterministische Funktion. Ansichten und Ausdrücke, die auf diese Spalte verweisen, können nicht indiziert werden.

Beispiele

In diesen Beispielen werden die Systemfunktionen verwendet, die aktuelle Datums- und Uhrzeitwerte zurückgeben, um das Datum, die Uhrzeit oder beides zurückzugeben. In den Beispielen werden die Werte der Reihe nach zurückgegeben, sodass sich deren Sekundenbruchteile unterscheiden können. Die zurückgegebenen tatsächlichen Werte entsprechen dem tatsächlichen Tag/der Ausführungszeit.

A. Abrufen des aktuellen Systemdatums und der aktuellen Systemzeit

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

Hier sehen Sie das Ergebnis.

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. Abrufen des aktuellen Systemdatums

Das folgende Beispiel zeigt, wie Datums- und Uhrzeitwerte in den Datentyp "Datum " konvertiert werden.

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

Hier sehen Sie das Ergebnis.

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