bigint:长度是8个字节,每个字节占8位,可以存储正负数,存储范围-9223372036854775808~9223372036854775807;
int:长度是4个字节,每个字节占8位,可以存储正负数,其中用1位来表示正负,31位表示数字存储范围-2147483648~2147483647;
smallint:长度是2个字节,每个字节占8位,可以存储正负数,其中用1位来表示正负,15位表示数字存储范围-32768~32767;
tinyint:长度是1个字节,存储0~255之间的数;
bit:位数据类型,可以存储0、1或者NULL;
money:由两个4字节构成,前面的4个字节表示货币值的整数部分,后面的4个字节表示货币值的小数部分,最多可以精确到小数点后4位;
smallmoney:由两个2字节构成,前面的2个字节表示货币值的整数部分,后面的2个字节表示货币值的小数部分,最多可以精确到小数点后4位;
decimal:decimal(p,s),p表示数字的精度,s表示数字的小数位数,p的取值范围是1~38,默认为18,s的取值范围是0~p,该类型的长度随着p的变化而变化,当p<=9时为5个字节,当p等于38时为17个字节;
float:浮点数据类型,可以存储范围非常大的数字,但是很容易发生舍入误差,float(n),n的范围是1~53,当n的取值为1~24时,精度可以达到7位,用4个字节来存储,当n的取值在25~53时,精度可以达到15位,用8个字节来存储;
char:每个字符占用一个字节的存储空间,使用固定长度来存储字符,超出的字符被截掉,不够的用空格填充,最长可以容纳8000个字符,赋值时用单引号或者双引号括起来;
varchar:存储空间随着存储字符数的不同自动调整;
text:这样用来存储超过8000字符的变长字符数据;
nchar:采用Unicode标准字符集,以两个字节为一个存储单位,1~4000,固定长度;
nvarchar:采用Unicode标准字符集,以两个字节为一个存储单位,1~4000,可变长;
ntext:采用Unicode标准字符集;
binary:存储固定长度的二进制数据,1~8000字节;
varbinary:存储可变长度的二进制数据,1~8000字节;
image:存储图像信息,可以存储高达2GB的数据;
datatime:1753年1月1日~9999年12月31日;
smalldatatime:1900年1月1日~2079年12月31日;
date:存储日期;
time:存储时间;
datetime2:比datetime取值更广泛,用户可以根据自己的需要设置不同的参数来设定小数位数,最高可以设到小数点后7位;
datetimeoffset:该数据类型具有时区偏移量;
geometry:平面空间数据类型;
geography:物理空间数据类型;
xml:可以用来保存XML文档;
NULL不等于零、空白、长度为零的字符串,NULL的意思是没有输入,出现NULL通常表示值未知或未定义;
用户自定义数据类型,如果所采用的系统数据类型中嵌有空格或者标点符号,就必须使用引号将其括起来,是否允许为空也必须使用单引号括起来,使用sp_addtype存储过程:
execute sp_addtype lyy,'nvarchar(20)','not null'
删除用户自定义数据类型:
execute sp_droptype lyy