SQL Server 数据库类型和.NET数据类型映射关系


https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/sql-server-data-type-mappings

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 数据类型映射
SQL Server 数据库引擎类型.NET Framework 类型SqlDbType 枚举SqlDataReader SqlTypes 类型化访问器DbType 枚举SqlDataReader DbType 类型化访问器
bigintInt64BigIntGetSqlInt64Int64GetInt64
binaryByte[]VarBinaryGetSqlBinaryBinaryGetBytes
bitBooleanBitGetSqlBooleanBooleanGetBoolean
charString

Char[]
CharGetSqlStringAnsiStringFixedLength,

String
GetString

GetChars
日期 1

(SQL Server 2008 及更高版本)
DateTimeDate1GetSqlDateTimeDate1GetDateTime
datetimeDateTimeDateTimeGetSqlDateTimeDateTimeGetDateTime
datetime2

(SQL Server 2008 及更高版本)
DateTimeDateTime2DateTime2GetDateTime
datetimeoffset

(SQL Server 2008 及更高版本)
DateTimeOffsetDateTimeOffsetDateTimeOffsetGetDateTimeOffset
Decimal小数DecimalGetSqlDecimalDecimalGetDecimal
FILESTREAM attribute (varbinary(max))Byte[]VarBinaryGetSqlBytesBinaryGetBytes
FLOATDoubleFloatGetSqlDoubleDoubleGetDouble
imageByte[]BinaryGetSqlBinaryBinaryGetBytes
intInt32IntGetSqlInt32Int32GetInt32
money小数MoneyGetSqlMoneyDecimalGetDecimal
ncharString

Char[]
NCharGetSqlStringStringFixedLengthGetString

GetChars
ntext字符串

Char[]
NTextGetSqlStringStringGetString

GetChars
numeric小数DecimalGetSqlDecimalDecimalGetDecimal
nvarcharString

Char[]
NVarCharGetSqlStringStringGetString

GetChars
realSingleRealGetSqlSingleSingleGetFloat
rowversionByte[]TimestampGetSqlBinaryBinaryGetBytes
smalldatetimeDateTimeDateTimeGetSqlDateTimeDateTimeGetDateTime
smallintInt16SmallIntGetSqlInt16Int16GetInt16
smallmoney小数SmallMoneyGetSqlMoneyDecimalGetDecimal
sql_variant对象 2VariantGetSqlValue 2ObjectGetValue 2
text字符串

Char[]
TextGetSqlStringStringGetString

GetChars
time

(SQL Server 2008 及更高版本)
TimeSpanTimeTimeGetDateTime
timestampByte[]TimestampGetSqlBinaryBinaryGetBytes
tinyintByteTinyIntGetSqlByteByteGetByte
uniqueidentifierGuidUniqueIdentifierGetSqlGuidGuidGetGuid
varbinaryByte[]VarBinaryGetSqlBinaryBinaryGetBytes
varcharString

Char[]
VarCharGetSqlStringAnsiStringStringGetString

GetChars
xmlXmlXmlGetSqlXmlXml

1 不能将的 DbType 属性设置 SqlParameter 为 SqlDbType.Date 。
2 如果你知道的基础类型,请使用特定的类型化访问器 sql_variant 。

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:DTCMS:后台执行JS弹窗
下一篇:TinyMCE 代码高亮 Prism.js 对 C# language-csharp 没做处理
评论列表

发表评论

评论内容
昵称:
关联文章

SQL Server 数据库类型.NET数据类型映射关系
C#数据类型常见数据库(SQLServer,MySQL,Oracle,SQLite)的数据类型对应关系
SQL Server 数据库安全之角色
GZDBHelper连接SQL Server 数据库
SQL Server获得所有数据库,所有表试图字段
Python使用SQL Server数据库
安装 SQL Server 2012 的硬件软件要求(官方全面)
Redis OM .NET Redis对象映射框架
使用Hot Chocolate.NET 6构建GraphQL应用(4) —— 实现Query映射功能
sql server系统表详细说明 之 sys.sql_modules
.NET C#教程初级篇 1-1 基本数据类型及其存储方式
sql server系统表详细说明 之 sys.columns
sql server系统表详细说明 之 sys.server_assembly_modules
sql server系统表详细说明 之 sys.masked_columns
EFCore数据库提供程序
sql server系统表详细说明 之 sys.all_columns
sql server系统表详细说明 之 sys.all_sql_modules
sql server系统表详细说明 之 sys.sql_expression_dependencies
使用SQL 创建数据库备份作业
SQL Server中常用全局变量介绍

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码