SQL Server 数据类型

浮点(小数型)

浮点数据类型用于存储十进制小数。在SQL Server 2000中浮点数值的数据采用上舍入(Round up)的方式进行存储,也就是说,要舍入的小数部分不论其大小,只要是一个非零的数,就要在该数字的最低有效位上加1,并进行必要的进位。由于浮点数据为近似值,所以并非数据类型范围内的所有数据都能精确地表示。

浮点数据类型包括real型、float型、decimal型和numeric型。

·real型数据的存储大小为4个字节,可精确到小数点后第7位数字。这种数据类型的数据存储范围为从-3.40E+38 ~ -1.18E-38,0和1.18E-38 ~ 3.40E+38。

·float型的数据存储大小为8个字节,可精确到小数点后第15位数字。这种数据类型的数据存储范围为从-1.79E+308 ~ -2.23E-308,0和2.23E+308 ~ 1.79E+308。

float型的数据可写成float[(n)]的形式。其中n是1~15之间的整数值,指定float型数据的精度。当n为1~7时,实际上用户定义了一个real型的数据,系统用4个字节存储;当n为8~15时,系统认为它是个float型的数据,用8个字节存储它。这样既增强了数据定义的灵活性,又节省了空间。

·decimal数据类型和numeric数据类型的功能完全一样,它们都可以提供小数所需要的实际存储空间,但也有一定的限制,用户可以用2~17个字节来存储数据,取值范围是-1038+1 ~ 1038-1。

decimal型数据和numeric型数据的定义格式为decimal[(p,[s])]和numeric[(p,[s])],其中p表示可供存储的值的总位数(不包括小数点),默认值为18;s表示小数点后的位数,默认值为0;参数之间的关系是0≤s≤p。例如:decimal(15,5)表示共有15位数,其中整数10位,小数5位。

二进制

二进制数据类型用于存储二进制数据,包括binary型、varbinary型和image型。

·binary型是固定长度的二进制数据类型,其定义形式为binary(n),其中n表示数据的长度,取值为1~8 000。在使用时应指定binary型数据的大小,默认值为1个字节。binary类型的数据占用n+4个字节的存储空间。

在输入数据时必须在数据前加上字符“0X”作为二进制标识。例如:要输入“abc”则应输入“0Xabc”。若输入的数据位数为奇数,则系统会自动在起始符号“0X”的后面添加一个0。如上述输入“0Xabc”后,系统会自动变为“0X0abc”。

·varbinary型是可变长度的二进制数据类型,其定义形式为varbinary(n),其中n表示数据的长度,取值为1~8 000。如果输入的数据长度超出n的范围,则系统会自动截掉超出部分。

varbinary型具有变动长度的特性,因为varbinary型数据的存储长度为实际数值长度+4个字节。当binnary型数据允许null值时,将被视为varbinary型的数据。

一般情况下,由于binary型的数据长度固定,因此它比varbinary型的数据处理速度快。

·image型的数据也是可变长度的二进制数据,其最大长度为231-1(2 147 483 647)个字节。

逻辑

逻辑数据类型只有一种bit型。bit数据类型只占用1个字节的存储空间,其值为0 fasle和1 true。只要输入的值为非0,系统都会当作1处理。另外,bit型不能定义为null值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值