整理一下SQL字段类型,黑色的一般比较常用
bit:1位,0或1的整型数字
int:(integer )4字节,从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
smallint:2字节,从-2^15(-32,768)到2^15(32,767)的整型数字
tinyint:1字节,从0到255的整型数字
decimal(p,s):数字数据,固定精度为p,宽度为s。从-10^38到10^38-1的定精度与有效位数的数字
numeric:decimal的同义词
money:8字节,从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
smallmoney:4字节,从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十
float(n):n在1~24之间,4字节,7位精度。从-1.79E+308到1.79E+308可变精度的数字
real:从-3.04E+38到3.04E+38可变精度的数字
datetime:8字节,从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
smalldatetime:4字节,从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟
timestamp:8字节,时间戳,一个数据库宽度的唯一数字
uniqueidentifier:16字节,全球唯一标识符GUID
char:定长非Unicode的字符型数据,最大长度为8000
varchar:变长非Unicode的字符型数据,最大长度为8000
text:变长非Unicode的字符型数据,最大长度为2^31-1(2G)
nchar:定长Unicode的字符型数据,最大长度为8000
nvarchar:变长Unicode的字符型数据,最大长度为8000
ntext:变长Unicode的字符型数据,最大长度为2^31-1(2G)
binary(n):定长二进制数据,最大长度为8000,存储空间为n+4字节
varbinary:变长二进制数据,最大长度为8000
image:变长二进制数据,最大长度为2^31-1(2G)
SQL Server主要是由六种常常用到的字段,字符型,文本型,数值型,逻辑型,和日期型
[1] 字符型数据Varchar,Char型
程序当中当大家需要存储比较短的字符串信息时我们就要用到字符型数据了,SQL中的字符型数据又有两种型!VARCHAR和CHAR型,正两种类型的数据差别是很细微的,但是却很重要!
比如当你像一个长度为40个字符的VARCHAR型字段中输入一个长度为4的字符串TOL8后你再取出的数据的时候,数据的长度为4个字符,而你把VARCHAR换成CHAR型,你取出的将会是40各字符长度的数据,字符串后会被附加多余的空格,比如TOL8只有4个字符那么从CHAR中取出的数据是TOL8加上36个空格!具体的程序设计中我个人还是推荐VARCHAR类型,因为从一些参考资料中我发现上面说VARCHAR型要比CHAR占用更少的硬盘很内存!
VARCHAR存储最长255个字符,超过这个长度就要用到我们下面将要讲到的文本型数据了。
[2] 文本型数据Text
文本型数据中你可以存储超过20亿个字符串,怎么样,这个够大了吧?但是也不是任何时候都是和使用文本型数据,因为他非常占空间,也非常消耗服务器,随处乱用后果不堪设想!因为即使你像一个文本型字段输入了一个空值他都会占用2K的空间!而当这时除了删除该数据没有别的办法收回空间!
[3] 数据型数据 Int,Tinying,Numeric
SQL支持多种不同的数据类型,让你可以存储整数,小数,和钱数!
INT(整型数据)表示范围是从-2,147,483,647 到 2,147,483,647 的整数
如果你的数值没有那么长,为了节省内存空间你可以使用SMALLINT它的表示范围是-32768到32768整数!二者的使用方法完全相同!
如果你还想再节省空间你可以选择使用TINYINT他只能存储0到255的整数注意TINYINT不能存储负数,一个TINYINT占用一个字节,而一个INT型数据占用4个字节!
[4] 数据型数据 Bit
网页复选框搜集信息存入数据库,是BIT型最常见的用法了!他只有两个值:0或1
[ 5] 数据型数据 Datetime,Samlldatetime
DATETIME的存储范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒,如果你不需要覆盖面这么大的日期范围,可选使用SMALLDATETIME型它的存储范围是从1900年1月1日到2079年6月6日,但是只能精确到秒!
[ 6] 特殊型数据 Cursor