次の方法で共有


System.DateTime メソッド (LINQ to SQL)

LINQ to SQL は、次の DateTime メソッドをサポートしていません。

IsDaylightSavingTime

IsLeapYear

DaysInMonth

ToBinary

ToFileTime

ToFileTimeUtc

ToLongDateString

ToLongTimeString

ToOADate

ToShortDateString

ToShortTimeString

ToUniversalTime

FromBinary

UtcNow

FromFileTime

FromFileTimeUtc

FromOADate

GetDateTimeFormats

.NET との相違

SQL Server および共通言語ランタイム (CLR) の DateTime 型は、次の表に示すように、範囲とタイマ刻みの精度がそれぞれ異なります。

最小値

最大値

タイマ刻み

System.DateTime

0001 年 1 月 1 日

9999 年 12 月 31 日

100 ナノ秒 (0.0000001 秒)

T-SQL DateTime

1753 年 1 月 1 日

9999 年 12 月 31 日

3.33... ミリ秒

(0.0033333 秒)

T-SQL SmallDateTime

1900 年 1 月 1 日

2079 年 6 月 6 日

1 分 (60 秒)

  • CLR DateTime 型の範囲と精度は、SQL Server 型の範囲と精度より大きな値です。そのため、SQL Server のデータが CLR 型として表されるときに、範囲や精度が失われることはありません。しかし、逆の場合は、範囲や精度が失われることがあります。

  • SQL Server の日付には、TimeZone の概念はありません。これは、CLR では確実にサポートされている機能です。

ユーザーは、データベースに日付を格納する方法 (現地時刻、UTC、またはバリアント時刻として) を決定し、LINQ to SQL クエリの前後に必要な変換を自分で実行する必要があります。

System.DateTime の減算パターン

たとえば、次のようなパターンを考えてみます。

(dateTime1 – dateTime2).{Days, Hours, Milliseconds, Minutes, Months, Seconds, Years}

これが認識されると、次に示すように、DATEDIFF への直接呼び出しに変換されます。

DATEDIFF({DatePart}, @dateTime1, @dateTime2)

参照

概念

データ型と関数 (LINQ to SQL)