SQL Server データ型のマッピング
SQL Server と .NET Framework は異なる型システムを使用しています。 たとえば、.NET Framework の Decimal 構造体の最大小数点以下桁数は 28 ですが、SQL Server の decimal データ型と numeric データ型の最大小数点以下桁数は 38 です。 データを読み書きするときにデータの整合性を保つために、SqlDataReader では、.NET Framework の型を返すアクセサー メソッドと共に、System.Data.SqlTypes のオブジェクトを返す SQL Server 固有の型指定されたアクセサー メソッドを公開しています。 SQL Server の型と .NET Framework の型は、両方とも DbType および SqlDbType クラスの列挙によって表されます。これらは SqlParameter データ型を指定するときに使用できます。
推論される .NET Framework 型、DbType 列挙型と SqlDbType 列挙型、SqlDataReader のアクセサー メソッドを、次の表に示します。
1SqlParameter
の DbType
プロパティを SqlDbType.Date
に設定することはできません。
2sql_variant
の基になる型がわかっている場合は、特定の型指定されたアクセサーを使用してください。
SQL Server ドキュメント
SQL Server のデータ型について詳しくは、「データ型 (Transact-SQL)」をご覧ください。