我无法找到一种方法来编写一个查询,该查询将返回SQL Server 2005/8中float列中的所有非整数。
我有一个浮点字段,其中的大部分数据实际上是整数,但我想查看值实际包含十进制值的行。我尝试的第一件事是模数1,但%运算符不适用于浮点值。
感谢您的帮助!
答案 0 :(得分:5)
我不知道MSSQL的确切语法,但你可以尝试类似的东西(伪代码)
SELECT ... FROM tbl_name WHERE col_name != CAST(col_name AS INTEGER)
答案 1 :(得分:4)
你只想要带有小数的行吗?
select field
from table
where field like '%.%'
答案 2 :(得分:3)
尝试类似:
SELECT *
FROM MyTable
WHERE (CONVERT(INT, floatField) - floatField) <> 0
答案 3 :(得分:2)
你也可以试试这个:
SELECT * FROM tbl WHERE col != ROUND(col)