.NET Framework Data Provider for SQL Server (SqlClient) には、 System.DateTime 入力値に対して操作を実行し、 string、数値、または System.DateTime 値の結果を返す日時関数が用意されています。 これらの関数は、SqlClient を使用するときに使用できる SqlServer 名前空間にあります。 プロバイダーの名前空間プロパティを使用すると、Entity Framework は、型や関数などの特定のコンストラクトに対してこのプロバイダーによって使用されるプレフィックスを検出できます。 次の表に、SqlClient の日付と時刻の関数を示します。
| 機能 | 説明 |
|---|---|
DATEADD(datepart, number, date) |
指定された日付に特定の期間を加えた新しい DateTime 型の値を返します。引数 datepart: 新しい値を返す対象となる日付の要素を表す String。number: Int32のインクリメントに使用されるInt64、Decimal、Double、またはdatepart値。date: 有効桁数が 0 から 7 の DateTime、DateTimeOffset、Time のいずれかの値を返す式、または日付形式の文字列。戻り値 有効桁数が 0 ~ 7 の DateTime、DateTimeOffset、または Time の新しい値。例 SqlServer.DATEADD('day', 22, cast('6/9/2006' as DateTime)) |
DATEDIFF(datepart,startdate,enddate) |
指定された 2 つの日付間で交差した日付と時刻の境界の数を返します。 引数 datepart: 差分を計算する日付の要素を表す String。startdate: 計算の開始日は、 DateTime、 DateTimeOffset、または有効桁数 = [0-7] の Time 値、または日付形式の文字列を返す式です。enddate: 計算の終了日は、 DateTime、 DateTimeOffset、または有効桁数 = [0- 7] の Time 値、または日付形式の文字列を返す式です。戻り値 Int32。例 SqlServer.DATEDIFF('day', cast('6/9/2006' as DateTime),cast('6/20/2006' as DateTime)) |
DATENAME(datepart, date) |
指定した日付の指定した日付部分を表す文字列を返します。 引数 datepart: 新しい値を返す対象となる日付の要素を表す String。date: DateTime, または DateTimeOffsetを返す式、または有効桁数 = [0- 7]の Time 値、または日付形式の文字列を返す式。戻り値 指定した日付の指定した日付部分を表す文字列。 例 SqlServer.DATENAME('year', cast('6/9/2006' as DateTime)) |
DATEPART(datepart, date) |
指定した日付の指定した日付部分を表す整数を返します。 引数 datepart: 新しい値を返す対象となる日付の要素を表す String。date: 有効桁数 = [0- 7] の DateTime, または DateTimeOffset, または Time 値、または日付形式の文字列を返す式。戻り値 指定された日付の特定の日付要素を表す Int32 値。例 SqlServer.DATEPART('year', cast('6/9/2006' as DateTime)) |
DAY(date) |
指定した日付の日付を整数で返します。 引数 date:精度 = 0 から 7 の DateTime 型または DateTimeOffset 型の式。戻り値 指定された日付の日を表す Int32 値。例 SqlServer.DAY(cast('6/9/2006' as DateTime)) |
GETDATE() |
datetime 値の SQL Server 内部形式で現在の日付と時刻を生成します。 戻り値 有効桁数が 3 の DateTime としての現在のシステム日時。例 SqlServer.GETDATE() |
GETUTCDATE() |
UTC (世界協定時刻またはグリニッジ標準時) 形式で datetime 値を生成します。 戻り値 UTC 形式の有効桁数 3 の DateTime 値。例 SqlServer.GETUTCDATE() |
MONTH(date) |
指定した日付の月を整数で返します。 引数 date:精度 = 0 から 7 の DateTime 型または DateTimeOffset 型の式。戻り値 指定された日付の月を表す Int32 値。例 SqlServer.MONTH(cast('6/9/2006' as DateTime)) |
YEAR(date) |
指定した日付の年を整数で返します。 引数 date:精度 = 0 から 7 の DateTime 型または DateTimeOffset 型の式。戻り値 Int32として指定した日付の年。例 SqlServer.YEAR(cast('6/9/2006' as DateTime)) |
SYSDATETIME() |
精度が7桁のDateTimeの値を返します。戻り値 精度が 7 の DateTime 値。例 SqlServer.SYSDATETIME() |
SYSUTCDATE() |
UTC (世界協定時刻またはグリニッジ標準時) 形式で datetime 値を生成します。 戻り値 UTC 形式の有効桁数 7 の DateTime 値。例 SqlServer.SYSUTCDATE() |
SYSDATETIMEOFFSET() |
精度が7のDateTimeOffset を返します。戻り値 UTC 形式の有効桁数 7 の DateTimeOffset 値。例 SqlServer.SYSDATETIMEOFFSET() |
SqlClient でサポートされる日付と時刻関数の詳細については、「 日付と時刻のデータ型と関数 (Transact-SQL)」を参照してください。