我有一个浮点型列的表。大多数值都像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')
答案 0 :(得分:0)
如果你只是想找到那么奇怪的"对于本身的值的长度并不感兴趣,那么您可以改为使用ROUND()
函数:
SELECT * FROM myTable
WHERE myValue != ROUND(myValue, 2);
这里" 2"是小数点后的位数 - 这应该找到具有3个或更多小数位的值。
希望这有帮助。