(轉)SQL Server 數據類型映射

SQL Server 數據類型映射

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 數據類型時可使用這些枚舉。html

下表顯示推斷的 .NET Framework 類型、DbType 和 SqlDbType 枚舉以及 SqlDataReader 的訪問器方法。sql

SQL Server 數據庫引擎類型 .NET Framework 類型 SqlDbType 枚舉 SqlDataReader SqlTypes 類型化訪問器 DbType 枚舉 SqlDataReader DbType 類型化訪問器
bigint Int64 BigInt GetSqlInt64 Int64 GetInt64
binary Byte[] VarBinary GetSqlBinary Binary GetBytes
bit Boolean Bit GetSqlBoolean Boolean GetBoolean
char String

Char[]
Char GetSqlString AnsiStringFixedLength,

String
GetString

GetChars
日期1

(SQL Server 2008 及更高版本)
DateTime Date 1 GetSqlDateTime Date 1 GetDateTime
datetime DateTime DateTime GetSqlDateTime DateTime GetDateTime
datetime2

(SQL Server 2008 及更高版本)
DateTime DateTime2 DateTime2 GetDateTime
datetimeoffset

(SQL Server 2008 及更高版本)
DateTimeOffset DateTimeOffset DateTimeOffset GetDateTimeOffset
decimal Decimal Decimal GetSqlDecimal Decimal GetDecimal
FILESTREAM 特性 (varbinary(max)) Byte[] VarBinary GetSqlBytes Binary GetBytes
float Double Float GetSqlDouble Double GetDouble
圖像 Byte[] Binary GetSqlBinary Binary GetBytes
int Int32 Int GetSqlInt32 Int32 GetInt32
money Decimal Money GetSqlMoney Decimal GetDecimal
nchar String

Char[]
NChar GetSqlString StringFixedLength GetString

GetChars
ntext String

Char[]
NText GetSqlString String GetString

GetChars
數值 Decimal Decimal GetSqlDecimal Decimal GetDecimal
nvarchar String

Char[]
NVarChar GetSqlString String GetString

GetChars
實數 Single Real GetSqlSingle Single GetFloat
rowversion Byte[] Timestamp GetSqlBinary Binary GetBytes
smalldatetime DateTime DateTime GetSqlDateTime DateTime GetDateTime
smallint Int16 SmallInt GetSqlInt16 Int16 GetInt16
smallmoney Decimal SmallMoney GetSqlMoney Decimal GetDecimal
sql_variant 對象2 Variant GetSqlValue 2 Object GetValue 2
文本 String

Char[]
Text GetSqlString String GetString

GetChars
時間

(SQL Server 2008 及更高版本)
TimeSpan Time Time GetDateTime
時間戳 Byte[] Timestamp GetSqlBinary Binary GetBytes
tinyint Byte TinyInt GetSqlByte Byte GetByte
uniqueidentifier Guid UniqueIdentifier GetSqlGuid Guid GetGuid
varbinary Byte[] VarBinary GetSqlBinary Binary GetBytes
varchar String

Char[]
VarChar GetSqlString AnsiStringString GetString

GetChars
xml Xml Xml GetSqlXml Xml

1沒法設置DbType屬性SqlParameterSqlDbType.Date
2使用特定的類型化訪問器,若是你知道的基礎類型sql_variant
數據庫

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


轉自:
SQL Server 數據類型映射(轉載) - hao_1234_1234 - 博客園
https://www.cnblogs.com/hao-1234-1234/p/8870838.htmlapp

相關文章
相關標籤/搜索