SQL SERVER的浮点数类型及与C 的对应关系

本文介绍了SQL SERVER中的浮点数类型float和real,详细解释了它们的位数含义,其中float默认精度为15位,real等同于float(24),精度为7位。同时提到了decimal和numeric作为固定精度的数值类型。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

               

SQL SERVER:

float 与 real

7位数或15位数。这里说的位数,不是指小数位,而是包括整数和小数在内的位数。

float的位数是多少,要看float[(n)]里的n数值是多少。

n value 精度 存储大小

1-24

7 位数

4 字节

25-53

15 位数

8 字节

注意:
SQL Server 将 n 视为下列两个可能值之一。如果 1<=n<=24,则将 n 视为 24。如果 25<=n<=53,则将 n 视为 53
(是不是很怪异)

如果不写这个n,默认n是53,即15位。

real 的 ISO 同义词为 float(24),也就是7位了。


declare @f float(18) = 12345.0123456789 ,@f2 float(18) = 1234567.0123456789 ,@f3 float(18) = 123456789.0123456789 ,@f4 float(53) = 123456789.01234567890123456789;declare @r real = 1234567.01234567890123456789;select @f as [f],@f2 as [f2],@f3 as [f3],@f4 as [f4],@r as [real];

f                   f2                   f3                           f4                                  real
12345.01  1234567  1.234568E+08  123456789.012346  1234567


decimal和numeric

带固定精度和小数位数的数值数据类型。

decimal[ ( p[ , s] )] 和 numeric[ ( p[ , s] )]

固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 ISO 同义词为 decdec(p, s)numeric 在功能上等价于 decimal

p(精度)

最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。

s (小数位数)

小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。

精度 存储字节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值