C# 与 SQL Server 的数据类型对应关系

(一)C#与SQL Server 2005(或以下版本):

C#

C#取值

SQL Server

SQL Server取值

System.DateTime

samlltime

System.Object

variant

(二)C#与SQL Server 2008(或以上版本):

C#

C#取值

SQL Server

SQL Server取值

System.Boolean

true/false

bit

1/0

System.SByte

-128~127

 

System.Byte

0~255

tinyint

0~255

System.Int16

-32768~32767

smallint

-32768~32767

System.UInt16

0~65535

 

System.Int32

-2147483648~2147483647

int

-2147483648~2147483647

System.UInt32

0~4294967295

 

System.Int64

-9223372036854775808~ 9223372036854775807L

bigint

-9223372036854775808~9223372036854775807

System.UInt64

0~18446744073709551615UL

 

System.Single

real

System.Double

float

System.Decimal

smallmoney

-214748.3648~214748.3647

money

-922337203685477.5808~922337203685477.5807

decimal

-999999999999999999.49~999999999999999999.49

numeric

1~38位

System.Char

 

System.String

char

1~8000

varchar

1~8000

nchar

1~4000

nvarchar

1~4000

text

ntext

time

00:00:00.0000000~23:59:59.9999999

System.DateTime

date

0001-01-01~9999-12-31

smalldatetime

datetime

1753-01-01 00:00:00:000~9999-12-31 23:59:59.997

datetime2

datetimeoffset

System.Byte[]

timestamp

image

binary

varbinary

System.Guid

uniqueidentifier

System.Object

sql_variant

(三)根据数据库数据类型字符,获取C#中对应的数据类型字符

 1 /// <summary>
 2 /// 将数据库数据类型字符串,转为C#数据类型字符串。
 3 /// </summary>
 4 /// <param name="dbType">数据库数据类型字符串。</param>
 5 /// <returns>C#数据类型字符串。</returns>
 6 private static string DBTypeToCSharpType(string dbType)
 7 {
 8     string cSharpType = string.Empty;
 9     switch (dbType.ToLower())
10     {
11         case "bit":
12             cSharpType = "bool";
13             break;
14         case "tinyint":
15             cSharpType = "byte";
16             break;
17         case "smallint":
18             cSharpType = "short";
19             break;
20         case "int":
21             cSharpType = "int";
22             break;
23         case "bigint":
24             cSharpType = "long";
25             break;
26         case "real":
27             cSharpType = "float";
28             break;
29         case "float":
30             cSharpType = "double";
31             break;
32         case "smallmoney":
33         case "money":
34         case "decimal":
35         case "numeric":
36             cSharpType = "decimal";
37             break;
38         case "char":
39         case "varchar":
40         case "nchar":
41         case "nvarchar":
42         case "text":
43         case "ntext":
44             cSharpType = "string";
45             break;
46         case "samlltime":
47         case "date":
48         case "smalldatetime":
49         case "datetime":
50         case "datetime2":
51         case "datetimeoffset":
52             cSharpType = "System.DateTime";
53             break;
54         case "timestamp":
55         case "image":
56         case "binary":
57         case "varbinary":
58             cSharpType = "byte[]";
59             break;
60         case "uniqueidentifier":
61             cSharpType = "System.Guid";
62             break;
63         case "variant":
64         case "sql_variant":
65             cSharpType = "object";
66             break;
67         default:
68             cSharpType = "string";
69             break;
70     }
71     return cSharpType;
72 }
原文地址:https://www.cnblogs.com/abeam/p/6784542.html