用于浮点数字的近似数字数据类型 数据。浮点数据是近似值;因此,并非所有的价值观 数据类型范围可以准确表示。
但是,在以下示例中:
Q1:为什么'浮动( 24 )'(即;实际)提供更多小数而不是< em>'float( 53 )'还不太准确?
Q2:如何将 @s存储在数字字段中,因为它没有舍入?
declare @s varchar(50) = '34.770438199999944'
select convert(float(24), @s) real_, convert(float(53), @s) float_
Results(括号是为了使差异更清晰)
| real_ | float_ |
------------------------------------
| 34.77043(9147949) | 34.77043(82) |
答案 0 :(得分:0)
Q1。它只是一个显示问题,对于其他数字可能会有所不同。它将在更适合的地方进行舍入(它将更接近数字的实际近似值)。精度较低,因为它存储数字的数据较少。
Q2。在mssql中(作为标记状态为sql-server),您可以创建一个小数,并且您将存储该数字而不会丢失精度。但是你可以存储的数量是有限的。