次の方法で共有


日付と時刻の強化機能

適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

OLE DB ドライバーのダウンロード

このトピックでは、SQL Server 2008 (10.0.x) に追加された日付と時刻のデータ型に対する OLE DB Driver for SQL Server のサポートについて説明します。

日付と時刻の機能強化の詳細については、「日付と時刻の強化機能 (OLE DB)」を参照してください。

使用法

ここでは、新しい日付型と時刻型のさまざまな使用方法について説明します。

個別のデータ型として日付を使用する

SQL Server 2008 (10.0.x) 以降では、日付型と時刻型のサポートの強化により、DBTYPE_DBDATE OLE DB 型をより効果的に使用できるようになりました。

個別のデータ型として時刻を使用する

OLE DB には既に、有効桁数が 1 秒のデータ型として DBTYPE_DBTIME があります。このデータ型には時刻のみが含まれます。

SQL Server の新しい時刻データ型では、秒の小数部の精度が 100 ナノ秒です。 これには、OLE DB Driver for SQL Server に新しい型が必要です。DBTYPE_DBTIME2。 秒の小数部を含まない時刻を使用するように記述された既存のアプリケーションでは、time(0) 列を使用できます。 アプリケーションがメタデータに返される型に依存しない場合は、既存の OLE DB DBTYPE_TIME 型とそれに対応する構造体が正常に動作します。

秒の有効桁数が拡張された個別のデータ型として時刻を使用する

プロセス制御や製造アプリケーションなど、アプリケーションによっては、有効桁数が 100 ナノ秒までの時刻データを処理できる必要があります。 OLE DB でのこの目的のための新しい型が DBTYPE_DBTIME2 です。

秒の有効桁数が拡張された Datetime を使用する

OLE DB では既に、有効桁数が 1 ナノ秒までの型が定義されています。 ただし、この型は既に SQL Server の既存のアプリケーションで使用されており、このようなアプリケーションでは、有効桁数を 1/300 秒までしか想定していません。 新しい datetime2(3) 型は、既存の datetime 型と直接的な互換性がありません。 これがアプリケーションの動作に影響するというリスクがある場合、アプリケーションは新しい DBCOLUMN フラグを使用して、実際のサーバーの種類を判断する必要があります。

秒の有効桁数とタイム ゾーンが拡張された Datetime を使用する

アプリケーションによっては、タイム ゾーン情報を含む datetime 値が必要です。 これは、新しい DBTYPE_DBTIMESTAMPOFFSET 型でサポートされています。

既存の変換と一貫性のあるクライアント側変換で Date/Time/Datetime/Datetimeoffset データを使用する

この変換は、SQL Server 2008 (10.0.x) で導入されたすべての日付型と時刻型との間の変換を含めるように一貫して拡張されます。

参照

OLE DB Driver for SQL Server の機能