数据库中的数据类型和c 的数据类型的映射
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
SQL Server 2000 C# CodeSmith
数据类型 取值范围 数据类型 取值范围 空值代替值 数据类型
-2^63 -9,223,372,036,854,775,808;即
(-9,223,372,036,85十六进制的
4,775,807) 至 0x8000000000000000至bigint Int64 Int64.MinValue Int64 2^63-1 9,223,372,036,854,775,807;即
(9,223,372,036,854十六进制的
,775,807) 0x7FFFFFFFFFFFFFFF
固定长度的 n 个字
节二进制数据。N 必
binary 须从 1 到 8,000。Byte[] null Binary
存储空间大小为
n+4 字节。
0,1,-1(使用一个枚举变量来
代替)
public enum bitNull
{
bit True,False enum -1 Boolean False,
True,
Null = -1
};
长度为 n 个字节的
固定长度且非
Unicode 的字符数
char 据。n 必须是一个介string null AnsiStringFixedLength
于 1 和 8,000 之
间的数值。存储大小
为 n 个字节。
存储从 1753 年 1 0001 年 1 月 1 日 月 1 日至 9999 年 00:00:00 .0000000至9999 年 datetime 12 月 31 日的日期DateTime 1753-01-01 0:00:00 DateTime 12 月 31 日 (每个数值要求 8 23:59:59.9999999 个字节的存储空间)
-79,228,162,514,264,337,593,5
从 - 10^38 +1 到 43,950,335至decimal Decimal Decimal.MinValue Decimal 10^38 - 179,228,162,514,264,337,593,54
3,950,335
float 从 - 1.79E + 308 Double -1.79769313486232e308至Double.MinValue Double
到 1.79E + 308 之+1.79769313486232e308
间的浮点数字数据
可变长度二进制数31据介于 0 与 2-1 image Byte[] null Binary (2,147,483,647) 字
节之间。
从 -2^31
(-2,147,483,648)
到 2^31 - 1 -2,147,483,648 到 int int -2147483648 Int32 (2,147,483,647) 的2,147,483,647
整型数据(所有数
字)
货币数据值介于
-2^63
(-922,337,203,685,477.5808) 与 2^63
- 1 money Single -3.402823e38至+3.402823e38 Single.MinValue Currency (+922,337,203,685,477.5807) 之间,精
确到货币单位的千
分之十。存储大小为
8 个字节。
至多为 4000 个 nchar string null StringFixedLength Unicode 字符
可变长度 Unicode
数据的最大长度为
302 - 1
ntext (1,073,741,823) 个string null String
字符。存储大小是所
输入字符个数的两
倍(以字节为单位)。
-79,228,162,514,264,337,593,5使用最大精度时,有43,950,335至numeric 效值从 - 10^38 +1 Decimal Decimal.MinValue Decimal 79,228,162,514,264,337,593,54到 10^38 – 1 3,950,335
包含 n 个字符的可
变长度 Unicode 字
nvarchar 符数据。n 的值必须string null String
介于 1 与 4,000
之间。
从 ?3.40E + 38 到
3.40E + 38 之间的real Single -3.402823e38至+3.402823e38 Single.MinValue Single 浮点数字数据。存储
大小为 4 字节。
从 1900 年 1 月 0001 年 1 月 1 日 1 日至 2079 年 6 00:00:00 .0000000至9999 年 smalldatetime 月 6 日的日期(每DateTime 1900-01-01 0:00:00 DateTime 12 月 31 日 个数值要求 4 个字23:59:59.9999999 节的存储空间)。
从 -2^15 (-32,768)
到 2^15 - 1
smallint (32,767) 的整型数Int16 -32768至32767 Int16.MinValue Int16
据。存储大小为 2
个字节。
货币数据值介于
-214,748.3648 与
+214.748,3647 之smallmoney Single -3.402823e38至+3.402823e38 Single.MinValue Currency 间,精确到货币单位
的千分之十。存储大
小为 4 个字节。
在SQL Server 2000中不支持大数据类
sql_variant 型text, ntext, Object null Object
image, timestamp,
其他类型均支持
服务器代码页中的
可变长度非
Unicode 数据的最
31大长度为 2-1
(2,147,483,647) 个
字符。当服务器代码
text 页使用双字节字符string null AnsiString
时,存储量仍是
2,147,483,647 字
节。存储大小可能小
于 2,147,483,647 字节(取决于字符
串)。
timestamp 这种数
据类型表现自动生
成的二进制数,确保
这些数在数据库中
timestamp 是唯一的。Byte[] null Binary
timestamp 一般用
作给表行加版本戳
的机制。存储大小为
8 字节。
tinyint 从 0 到 255 的整Byte 0至255 Byte.MinValue Byte
型数据。存储大小为
1 字节。
存储 16 字节的二
进制值,该值的使用
与全局唯一标识符
(GUID) 一样。GUID
是一个唯一的二进
制数字;世界上的任
uniqueidentifier 何两台计算机都不Guid Guid.Empty Guid
会生成重复的
GUID 值。GUID 主
要用于在拥有多个
节点、多台计算机的
网络中,分配必须具
有唯一性的标识符。
n 个字节变长二进
制数据。n 必须从 1
到 8,000。存储空间
大小为实际输入数varbinary Byte[] null Binary 据长度 +4 个字节,
而不是 n 个字节。
输入的数据长度可
能为 0 字节。
长度为 n 个字节的
可变长度且非
Unicode 的字符数
据。n 必须是一个介
于 1 和 8,000 之
varchar 间的数值。存储大小string null AnsiString
为输入数据的字节
的实际长度,而不是
n 个字节。所输入的
数据字符长度可以
为零。
把Sql类型转换为C#类型的函数 ///
/// 数据库中与C#中的数据类型对照 /// ///
///
private string ChangeToCSharpType(string type)
{
string reval=string.Empty; switch(type.ToLower()) {
case "int":
reval= "Int32";
break;
case "text":
reval= "String";
break;
case "bigint":
reval= "Int64";
break;
case "binary":
reval= "System.Byte[]"; break;
case "bit":
reval= "Boolean";
break;
case "char":
reval= "String";
break;
case "datetime":
reval= "System.DateTime"; break;
case "decimal":
reval= "System.Decimal"; break;
case "float":
reval= "System.Double"; break;
case "image":
reval= "System.Byte[]"; break;
case "money":
reval= "System.Decimal"; break;
case "nchar":
reval= "String";
break;
case "ntext":
reval= "String";
break;
case "numeric":
reval= "System.Decimal"; break;
case "nvarchar":
reval= "String";
break;
case "real":
reval= "System.Single"; break;
case "smalldatetime": reval= "System.DateTime"; break;
case "smallint":
reval= "Int16";
break;
case "smallmoney":
reval= "System.Decimal"; break;
case "timestamp":
reval= "System.DateTime"; break;
case "tinyint":
reval= "System.Byte"; break;
case "uniqueidentifier": reval= "System.Guid"; break;
case "varbinary": reval= "System.Byte[]";
break;
case "varchar": reval= "String"; break;
case "Variant": reval="Object"; break;
default:
reval= "String"; break;
}
return reval; }