序号 | 类别 | SQL | C# | 备注 |
1 | 整数 | bit | Boolean | True转换为1,False转换为0 |
2 | tinyint | Byte | C#数据类型都位于System命名空间 | |
3 | smallint | Int16 | ||
4 | int | Int32 | ||
5 | bigint | Int64 | ||
6 | smallmoney | decimal | ||
7 | money | decimal | ||
8 | numeric | decimal | ||
9 | decimal | decimal | ||
10 | 浮点数 | float | double | |
11 | real | single | ||
12 | 日期和时间 | smalldatetime | datetime | |
13 | datetime | datetime | ||
14 | timestamp | datetime | ||
15 | 字符串 | char | string | |
16 | text | string | ||
17 | varchar | string | ||
18 | nchar | string | ||
19 | ntext | string | ||
20 | nvarchar | string | ||
21 | 二进制数据 | binary | Byte[] | |
22 | varbinary | Byte[] | ||
23 | image | Byte[] | ||
24 | 其他 | uniqueidentifier | guid | |
25 | variant | object |
SQL Server 2005的数据类型与SQL 2000有一些不同,在创建表时,列的数据类型需要注意几点
- 用varchar(max)代替text。varchar的最大长度为8000,但是varchar(max)则可以存储多达2G的数据,因此其作用相当于SQL 2000中的text。但是微软可能会后续的SQL Server版本中移除text类型,从现在就应该用varchar(max) 来代替text。
- 用nvarchar(max)代替ntext,用binary(max)代替image.
- 为XML数据选择xml类型。在SQL Server 2005中,为XML数据添加了相应的数据类型,因此存储XML数据的列不需要用varchar(max)或nvarchar(max),而应当用xml数据类型,以利用T-SQL中专门针对xml数据列的新命令,以及针对xml列的索引。