此文章主要向大家描述的是SQL Server浮点数据类型,SQL Server数据库的浮点数据类型主要是用于十进制小数的存储。浮点数值的数据在SQL Server 中采用上舍入(Round up 或称为只入不舍)方式进行存储。所谓上舍入是指。
当(且仅当)要舍入的数是一个非零数时,对其保留数字部分的 最低有效位上的数值加1 ,并进行必要的进位。
若一个数是上舍入数,其绝对值不会减少。如:对3.14159265358979 分别进行2 位和12位舍入,结果为3.15 和3.141592653590。
1、REAL 数据类型
REAL数据类型可精确到第7 位小数,其范围为从-3.40E -38 到3.40E +38。 每个REAL类型的数据占用4 个字节的存储空间。
2、FLOAT
FLOAT 数据类型可精确到第15 位小数,其范围为从-1.79E -308 到1.79E +308。 每个FLOAT 类型的数据占用8 个字节的存储空间。 FLOAT数据类型可写为FLOAT[ n ]的形式。n 指定FLOAT 数据的精度。n 为1到15 之间的整数值。当n 取1 到7 时,实际上是定义了一个REAL 类型的数据,系统用4 个字节存储它;当n 取8 到15 时,系统认为其是FLOAT 类型,用8 个字节存储它。
3、DECIMAL
DECIMAL数据类型可以提供小数所需要的实际存储空间,但也有一定的限制,您可以用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。
其中p 表示可供SQL Server浮点数据类型存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。 例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。 位表4-3 列出了各精确度所需的字节数之间的关系。
4、NUMERIC
NUMERIC数据类型与DECIMAL数据类型完全相同。
注意:SQL Server 为了和前端的开发工具配合,其所支持的数据精度默认最大为28位。但可以通过使用命令来执行sqlserver.exe 程序以启动SQL Server,可改变默认精度。命令语法如下:
- SQLSERVR[/D master_device_path][/P precisim_leve1]
例4-4: 用最大数据精度38 启动SQL Server
- sqlservr /d c:\ Mssql2000\data\master.dat /p38
在使用了/P 参数后,如果其后没有指定具体的精度数值,则默认为38 位。
以上的相关内容就是对SQL Server浮点数据类型的介绍,望你能有所收获。
【编辑推荐】
- SQL Server数据库连接,Web.config的正确配置
- SQL Server 数据表信息的详细描述
- SQL Server置疑的出现的原因,现象与破解
- 实现SQL Server 2000全文索引迁移步骤
- SQL Server全文索引的实例演示