用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。
这是联机帮助中对两个类型的定义,也有很多朋友(多是初次使用SQL Server的朋友)经常使用此类型做为存储有小数位的数据,但在计算时会出现所得值不准确的问题
请问大家在实际开发/应用中是否使用此类型,主要用于哪些方面?
18 个解决方案
#1
一般就是用float类型用的多点,再就是numeric类型了。。
real这个类型还真从没用过```它们的区别自然也就不知道了```
帮顶, 等老大``
real这个类型还真从没用过```它们的区别自然也就不知道了```
帮顶, 等老大``
#2
decimal ,float ,然后是numeric类型了。
具体差别见帮助文档
具体差别见帮助文档
#3
money 似乎是Decimal的一个子集!!??
我在存储过程中定义了一个money类型的参数,在执行时系统自动转换为Decimal类型!!
我在存储过程中定义了一个money类型的参数,在执行时系统自动转换为Decimal类型!!
#4
查看下联机帮助吧!
用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示。
注意:
real 的 SQL-92 同义词为 float(24)。
数据类型 范围 存储
float
-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308
取决于 n 的值
real
-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38
4 字节
Transact-SQL 语法约定
语法
float [ ( n ) ]
其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。
n value 精度 存储大小
1-24
7 位数
4 字节
25-53
15 位数
8 字节
注意:
SQL Server 2005 将 n 视为下列两个可能值之一。如果 1<=n<=24,则将 n 视为 24。如果 25<=n<=53,则将 n 视为 53。
SQL Server float[(n)] 数据类型从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。
#5
学习
#6
好冷...
#7
好像没有怎么看到用float 类型的, 一般都用有精确性的 decimal/numeric, 在 sql2005 sp2 及之后的版本中, 还可以在数据库上调用启用 vardecimal 功能, 这样可以用变长的方式存储 deciml/numeric 数据, 不用担心定义太长, 而用得太少, 导致增加存储开销
flat/real 一般用在对数据没有严格精确性要求的情况, 例如做服务器性能监控, 对于性能指标的值一般用 float, 因为这类值并不需要很精确, 而且有的性能指标的值非常大.
flat/real 一般用在对数据没有严格精确性要求的情况, 例如做服务器性能监控, 对于性能指标的值一般用 float, 因为这类值并不需要很精确, 而且有的性能指标的值非常大.
#8
在数据精确性要求不高时用FLOAT,要求缴高时用decimal numeric
我在设计的时候大多用decimal ,习惯问题,但做些小测试什么的用float
还是看需求吧
我在设计的时候大多用decimal ,习惯问题,但做些小测试什么的用float
还是看需求吧
#9
是不是可以这样理解,在存储一些大的数据,且对精确性要求不高时,可以考虑使用float类型
因为float类型所占的空间要小于decimal/numeric
因为float类型所占的空间要小于decimal/numeric
#10
float/real 实际中很少用,其缺点很明显,就是数据不精确
但是相对decimal/numeric,特别是在低版本SQL Server,float/real也有好处,因为decimal/numeric必须在定义的时候指定精度,在有些应用,其精度不容易事先确定的情况下,要么用decimal/numeric而精度指定到估计的最大如numeric(38,10),其他的选择就只有float/real了
但是相对decimal/numeric,特别是在低版本SQL Server,float/real也有好处,因为decimal/numeric必须在定义的时候指定精度,在有些应用,其精度不容易事先确定的情况下,要么用decimal/numeric而精度指定到估计的最大如numeric(38,10),其他的选择就只有float/real了
#11
学习。
#12
好多星星,還有磚石,學習學習。
#13
学习~~~
#14
float 和 real
我看能用float尽量用float.
real 一般用于工程计算.
我看能用float尽量用float.
real 一般用于工程计算.
#15
float
居家旅行必备!
居家旅行必备!
#16
几个月以前給接用友一个外包私活,帮他们的一个客户作成本核算系统,我学U8里面大量使用float
明明 0.1的数据,输出出来的0.09999936 很多地方的数据都变了,幸亏在测试的时候发现得早只有一半都要返工。
现在我都用decimal 了。
明明 0.1的数据,输出出来的0.09999936 很多地方的数据都变了,幸亏在测试的时候发现得早只有一半都要返工。
现在我都用decimal 了。
#17
收益
#18
我也想知道,正在找這方面的資料~~~~~
#1
一般就是用float类型用的多点,再就是numeric类型了。。
real这个类型还真从没用过```它们的区别自然也就不知道了```
帮顶, 等老大``
real这个类型还真从没用过```它们的区别自然也就不知道了```
帮顶, 等老大``
#2
decimal ,float ,然后是numeric类型了。
具体差别见帮助文档
具体差别见帮助文档
#3
money 似乎是Decimal的一个子集!!??
我在存储过程中定义了一个money类型的参数,在执行时系统自动转换为Decimal类型!!
我在存储过程中定义了一个money类型的参数,在执行时系统自动转换为Decimal类型!!
#4
查看下联机帮助吧!
用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示。
注意:
real 的 SQL-92 同义词为 float(24)。
数据类型 范围 存储
float
-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308
取决于 n 的值
real
-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38
4 字节
Transact-SQL 语法约定
语法
float [ ( n ) ]
其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。
n value 精度 存储大小
1-24
7 位数
4 字节
25-53
15 位数
8 字节
注意:
SQL Server 2005 将 n 视为下列两个可能值之一。如果 1<=n<=24,则将 n 视为 24。如果 25<=n<=53,则将 n 视为 53。
SQL Server float[(n)] 数据类型从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。
#5
学习
#6
好冷...
#7
好像没有怎么看到用float 类型的, 一般都用有精确性的 decimal/numeric, 在 sql2005 sp2 及之后的版本中, 还可以在数据库上调用启用 vardecimal 功能, 这样可以用变长的方式存储 deciml/numeric 数据, 不用担心定义太长, 而用得太少, 导致增加存储开销
flat/real 一般用在对数据没有严格精确性要求的情况, 例如做服务器性能监控, 对于性能指标的值一般用 float, 因为这类值并不需要很精确, 而且有的性能指标的值非常大.
flat/real 一般用在对数据没有严格精确性要求的情况, 例如做服务器性能监控, 对于性能指标的值一般用 float, 因为这类值并不需要很精确, 而且有的性能指标的值非常大.
#8
在数据精确性要求不高时用FLOAT,要求缴高时用decimal numeric
我在设计的时候大多用decimal ,习惯问题,但做些小测试什么的用float
还是看需求吧
我在设计的时候大多用decimal ,习惯问题,但做些小测试什么的用float
还是看需求吧
#9
是不是可以这样理解,在存储一些大的数据,且对精确性要求不高时,可以考虑使用float类型
因为float类型所占的空间要小于decimal/numeric
因为float类型所占的空间要小于decimal/numeric
#10
float/real 实际中很少用,其缺点很明显,就是数据不精确
但是相对decimal/numeric,特别是在低版本SQL Server,float/real也有好处,因为decimal/numeric必须在定义的时候指定精度,在有些应用,其精度不容易事先确定的情况下,要么用decimal/numeric而精度指定到估计的最大如numeric(38,10),其他的选择就只有float/real了
但是相对decimal/numeric,特别是在低版本SQL Server,float/real也有好处,因为decimal/numeric必须在定义的时候指定精度,在有些应用,其精度不容易事先确定的情况下,要么用decimal/numeric而精度指定到估计的最大如numeric(38,10),其他的选择就只有float/real了
#11
学习。
#12
好多星星,還有磚石,學習學習。
#13
学习~~~
#14
float 和 real
我看能用float尽量用float.
real 一般用于工程计算.
我看能用float尽量用float.
real 一般用于工程计算.
#15
float
居家旅行必备!
居家旅行必备!
#16
几个月以前給接用友一个外包私活,帮他们的一个客户作成本核算系统,我学U8里面大量使用float
明明 0.1的数据,输出出来的0.09999936 很多地方的数据都变了,幸亏在测试的时候发现得早只有一半都要返工。
现在我都用decimal 了。
明明 0.1的数据,输出出来的0.09999936 很多地方的数据都变了,幸亏在测试的时候发现得早只有一半都要返工。
现在我都用decimal 了。
#17
收益
#18
我也想知道,正在找這方面的資料~~~~~