在float字段中查找非整数值

时间:2011-02-21 16:48:06

标签: sql sql-server tsql

我无法找到一种方法来编写一个查询,该查询将返回SQL Server 2005/8中float列中的所有非整数。

我有一个浮点字段,其中的大部分数据实际上是整数,但我想查看值实际包含十进制值的行。我尝试的第一件事是模数1,但%运算符不适用于浮点值。

感谢您的帮助!

4 个答案:

答案 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)