SQL Server 数据类型与.Net Framework平台映射
SQL Server 和 .NET Framework 基于不同的类型系统。 例如,.NET Framework Decimal 结构的最大小数位数为 28,而 SQL Server 的 decimal 和 numeric 数据类型的最大小数位数为 38。 为了在读取和写入数据时维护数据的完整性,SqlDataReader 将公开用于返回 System.Data.SqlTypes 的对象的 SQL Server 特定的类型化访问器方法以及用于返回 .NET Framework 类型的访问器方法。 SQL Server 类型和 .NET Framework 类型也可通过 DbType 和 SqlDbType 类中的枚举表示,当您指定 SqlParameter 数据类型时可以使用这些枚举。
下表显示推断的 .NET Framework 类型、DbType 和 SqlDbType 枚举以及 SqlDataReader 的访问器方法。
| SQL Server 数据库引擎类型 |
.NET Framework 类型 |
SqlDbType 枚举 |
SqlDataReader SqlTypes 类型化访问器 |
DbType 枚举 |
SqlDataReader DbType 类型化访问器 |
|---|---|---|---|---|---|
|
bigint |
Int64 |
||||
|
binary |
Byte[] |
||||
|
bit |
Boolean |
||||
|
char |
String Char[] |
||||
|
date (SQL Server 2008 及更高版本) |
DateTime |
||||
|
datetime |
DateTime |
||||
|
datetime2 (SQL Server 2008 及更高版本) |
DateTime |
无 |
|||
|
datetimeoffset (SQL Server 2008 及更高版本) |
DateTimeOffset |
无 |
|||
|
decimal |
Decimal |
||||
|
FILESTREAM 特性 (varbinary(max)) |
Byte[] |
||||
|
float |
Double |
||||
|
图像 |
Byte[] |
||||
|
int |
Int32 |
||||
|
money |
Decimal |
||||
|
nchar |
String Char[] |
||||
|
ntext |
String Char[] |
||||
|
数值 |
Decimal |
||||
|
nvarchar |
String Char[] |
||||
|
实数 |
Single |
||||
|
rowversion |
Byte[] |
||||
|
smalldatetime |
DateTime |
||||
|
smallint |
Int16 |
||||
|
smallmoney |
Decimal |
||||
|
sql_variant |
Object* |
GetValue * |
|||
|
文本 |
String Char[] |
||||
|
时间 (SQL Server 2008 及更高版本) |
TimeSpan |
无 |
|||
|
时间戳 |
Byte[] |
||||
|
tinyint |
Byte |
||||
|
uniqueidentifier |
Guid |
||||
|
varbinary |
Byte[] |
||||
|
varchar |
String Char[] |
||||
|
xml |
Xml |
无 |

浙公网安备 33010602011771号