Appearance
SQL Server 与 C# 数据类型映射关系表
💡 说明
在进行后端开发或数据库设计时,确保 SQL Server 数据类型与 C# 数据类型的正确映射是保证数据一致性与程序稳定性的基础。
1. 数字类型 (Numeric Types)
1.1 精确数字 (Exact Numerics)
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| bigint | -2^63 到 2^63-1 的整型数据 (8 字节) | Int64 (long) |
| int | -2^31 到 2^31-1 的整型数据 (4 字节) | Int32 (int) |
| smallint | -2^15 到 2^15-1 的整型数据 (2 字节) | Int16 (short) |
| tinyint | 0 到 255 的整型数据 (1 字节) | Byte (byte) |
| bit | 1 或 0 的整数数据 | Boolean (bool) |
| decimal | 固定精度和小数位的数字数据 | Decimal |
| numeric | 功能等同于 decimal | Decimal |
| money | 货币数据 (-2^63 到 2^63-1) | Decimal |
| smallmoney | 货币数据 (-214,748.3648 到 +214,748.3647) | Decimal |
1.2 近似数字 (Approximate Numerics)
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| float | 浮点精度数字 | Double (double) |
| real | 浮点精度数字 | Single (float) |
2. 日期和时间类型 (Date and Time)
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| datetime | 1753-01-01 到 9999-12-31 (精确到 3.33 毫秒) | DateTime |
| smalldatetime | 1900-01-01 到 2079-06-06 (精确到分钟) | DateTime |
3. 字符串类型 (String Types)
3.1 非 Unicode 字符串
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| char | 固定长度,最大 8,000 字符 | String |
| varchar | 可变长度,最大 8,000 字符 | String |
| text | 可变长度,最大 2^31 - 1 字符 | String |
3.2 Unicode 字符串
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| nchar | 固定长度,最大 4,000 字符 | String |
| nvarchar | 可变长度,最大 4,000 字符 | String |
| ntext | 可变长度,最大 2^30 - 1 字符 | String |
4. 二进制与其它类型
| SQL Server 类型 | 说明 | C# 类型 |
|---|---|---|
| binary | 固定长度二进制数据 (最大 8,000 字节) | Byte[] |
| varbinary | 可变长度二进制数据 (最大 8,000 字节) | Byte[] |
| image | 可变长度二进制数据 (最大 2^31 - 1 字节) | Byte[] |
| timestamp | 数据库唯一的更新序列号 | DateTime / Byte[] |
| uniqueidentifier | 全局唯一标识符 (GUID) | Guid |
🔗 参考资料
