patterncsharpCritical
C# Equivalent of SQL Server DataTypes
Viewed 0 times
equivalentsqldatatypesserver
Problem
For the following SQL Server datatypes, what would be the corresponding datatype in C#?
Exact Numerics
Approximate Numerics
Date and Time
Character Strings
Unicode Character Strings
Binary Strings
Other Data Types
(source: MSDN)
Exact Numerics
bigint
numeric
bit
smallint
decimal
smallmoney
int
tinyint
moneyApproximate Numerics
float
realDate and Time
date
datetimeoffset
datetime2
smalldatetime
datetime
timeCharacter Strings
char
varchar
textUnicode Character Strings
nchar
nvarchar
ntextBinary Strings
binary
varbinary
imageOther Data Types
cursor
timestamp
hierarchyid
uniqueidentifier
sql_variant
xml
table(source: MSDN)
Solution
This is for SQL Server 2005. There are updated versions of the table for SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 and SQL Server 2014.
SQL Server Data Types and Their .NET Framework Equivalents
The following table lists Microsoft SQL Server data types, their equivalents in the common language runtime (CLR) for SQL Server in the System.Data.SqlTypes namespace, and their native CLR equivalents in the Microsoft .NET Framework.
SQL Server data type
CLR data type (SQL Server)
CLR data type (.NET Framework)
varbinary
SqlBytes, SqlBinary
Byte[]
binary
SqlBytes, SqlBinary
Byte[]
varbinary(1), binary(1)
SqlBytes, SqlBinary
byte, Byte[]
image
None
None
varchar
None
None
char
None
None
nvarchar(1), nchar(1)
SqlChars, SqlString
Char, String, Char[]
nvarchar
SqlChars, SqlString
String, Char[]
nchar
SqlChars, SqlString
String, Char[]
text
None
None
ntext
None
None
uniqueidentifier
SqlGuid
Guid
rowversion
None
Byte[]
bit
SqlBoolean
Boolean
tinyint
SqlByte
Byte
smallint
SqlInt16
Int16
int
SqlInt32
Int32
bigint
SqlInt64
Int64
smallmoney
SqlMoney
Decimal
money
SqlMoney
Decimal
numeric
SqlDecimal
Decimal
decimal
SqlDecimal
Decimal
real
SqlSingle
Single
float
SqlDouble
Double
smalldatetime
SqlDateTime
DateTime
datetime
SqlDateTime
DateTime
sql_variant
None
Object
User-defined type(UDT)
None
user-defined type
table
None
None
cursor
None
None
timestamp
None
None
xml
SqlXml
None
SQL Server Data Types and Their .NET Framework Equivalents
The following table lists Microsoft SQL Server data types, their equivalents in the common language runtime (CLR) for SQL Server in the System.Data.SqlTypes namespace, and their native CLR equivalents in the Microsoft .NET Framework.
SQL Server data type
CLR data type (SQL Server)
CLR data type (.NET Framework)
varbinary
SqlBytes, SqlBinary
Byte[]
binary
SqlBytes, SqlBinary
Byte[]
varbinary(1), binary(1)
SqlBytes, SqlBinary
byte, Byte[]
image
None
None
varchar
None
None
char
None
None
nvarchar(1), nchar(1)
SqlChars, SqlString
Char, String, Char[]
nvarchar
SqlChars, SqlString
String, Char[]
nchar
SqlChars, SqlString
String, Char[]
text
None
None
ntext
None
None
uniqueidentifier
SqlGuid
Guid
rowversion
None
Byte[]
bit
SqlBoolean
Boolean
tinyint
SqlByte
Byte
smallint
SqlInt16
Int16
int
SqlInt32
Int32
bigint
SqlInt64
Int64
smallmoney
SqlMoney
Decimal
money
SqlMoney
Decimal
numeric
SqlDecimal
Decimal
decimal
SqlDecimal
Decimal
real
SqlSingle
Single
float
SqlDouble
Double
smalldatetime
SqlDateTime
DateTime
datetime
SqlDateTime
DateTime
sql_variant
None
Object
User-defined type(UDT)
None
user-defined type
table
None
None
cursor
None
None
timestamp
None
None
xml
SqlXml
None
Context
Stack Overflow Q#425389, score: 1375
Revisions (0)
No revisions yet.