適用対象: SQL Server 2025 (17.x)
Azure SQL Database
Azure SQL Managed Instance
SQL データベース
CURRENT_DATE Transact-SQL(T-SQL)関数は、データベースの時間やタイムゾーンのオフセットなしに、現在のデータベースシステムの日付を日付値として返します。
CURRENT_DATEこの値は、データベース エンジンが動作する基盤となるオペレーティングシステムから導き出されます。
Note
SYSDATETIME と SYSUTCDATE の場合、1 秒未満の秒の有効桁数で測定され、GETDATE や GETUTCDATE より精度が高くなります。
SYSDATETIMEOFFSET 関数には、システムのタイム ゾーン オフセットが含まれます。 日付と時刻のあらゆる型の変数に SYSDATETIME、SYSUTCDATETIME、SYSDATETIMEOFFSET を割り当てることができます。
この関数は、 CAST(GETDATE() AS DATE)と同等の ANSI SQL です。 詳細については、 GETDATE を参照してください。
Note
Azure SQL DatabaseおよびMicrosoft FabricのSQLデータベースは、デフォルトのタイムゾーンをユニバーサルコーディネッドタイム(UTC)から変更することをサポートしています。 データベースやセッションレベルでタイムゾーンを変更すると、この関数は設定されたタイムゾーン値に基づいてローカル時間を返します。 詳細については、ALTER DATABASE SCOPED CONFIGURATIONおよびタイムゾーンSETをご覧ください。
Transact-SQL のすべての日付と時刻のデータ型と関数の概要については日付と時刻のデータ型と関数に関するページを参照してください。
構文
CURRENT_DATE
引数
この関数は引数を取りません。
戻り値の型
date
解説
Transact-SQL ステートメントは、CURRENT_DATE式を参照できる任意の場所でを参照できます。
CURRENT_DATE は非決定論的関数です。 この列を参照するビューと式にインデックスを作成することはできません。
例
これらの例では、現在の日付と時刻の値を返すシステム関数を使用して、日付、時刻、またはその両方を返します。 これらの例では、値が順番に返されるため、秒の小数部が異なることがあります。 返される実際の値は、実際の実行日/時刻を反映します。
A. 現在のシステム日付と時刻を取得する
SELECT SYSDATETIME(),
SYSDATETIMEOFFSET(),
SYSUTCDATETIME(),
CURRENT_TIMESTAMP,
GETDATE(),
GETUTCDATE(),
CURRENT_DATE;
結果セットは次のとおりです。
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. 現在のシステム日付を取得する
次の例では、日付と時刻の値を 日付 データ型に変換する方法を示します。
SELECT CONVERT (DATE, SYSDATETIME()),
CONVERT (DATE, SYSDATETIMEOFFSET()),
CONVERT (DATE, SYSUTCDATETIME()),
CONVERT (DATE, CURRENT_TIMESTAMP),
CONVERT (DATE, GETDATE()),
CONVERT (DATE, GETUTCDATE()),
CURRENT_DATE;
結果セットは次のとおりです。
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