浮点长度为字符串

时间:2018-03-28 10:03:20

标签: sql sql-server-2008

我有一个浮点型列的表。大多数值都像5.67但有一些奇怪的值,如5.44567999999999995

我怎么能算出我有多少怪异的?在第二次选择中我需要更改什么才能将结果作为第三个选择?

declare @a as float
set @a = 5.44567999999999995
select @a
select LEN(CONVERT(VARCHAR(50), ISNULL(@a, 0)))
select LEN('5.44567999999999995')

1 个答案:

答案 0 :(得分:0)

如果你只是想找到那么奇怪的"对于本身的值的长度并不感兴趣,那么您可以改为使用ROUND()函数:

SELECT * FROM myTable
 WHERE myValue != ROUND(myValue, 2);

这里" 2"是小数点后的位数 - 这应该找到具有3个或更多小数位的值。

希望这有帮助。