create table test(A float(2))
------------------------------float [ ( n ) ]从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。n 所在范围 精度 存储大小
1-24 7 位数 4 字节
25-53 15 位数 8 字节
Microsoft® SQL Server™ float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。real从 ?3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)。
------------------------------float [ ( n ) ]从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。n 所在范围 精度 存储大小
1-24 7 位数 4 字节
25-53 15 位数 8 字节
Microsoft® SQL Server™ float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。real从 ?3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)。
set @f='6.23'
select @f
1.01 * 100 可能會等於 100.99999999998 也可能等於 101.0000000011如果你要用準確的結果數值,那以就要用 decimal 或 integer 之類的非浮點運算數值。
但是用 numeric 和 decimal 類型的數值時,請注意,數據庫一般都以文本方式保存這個值,所以
你絕對不能 rs("decimal字段")<>1 的方式來進行數據比較,因為 rs("decimal字段") 是文本類型,
與數值型在進行比較時,肯定會報"類型不匹配" 的錯誤。