开发者

Find non-integer values in a float field

I'm having trouble finding a way to write a query that will return all non-integers in a float column in SQL Server 2005/8.

I have a float field where the majority of the data in it is actually integers, but I'd like to take a look at the rows where the values actually contain a decimal value. The first thing I tried was modulus 1, but the % operator doe开发者_开发问答sn't work on float values.

Thanks for your help!


I don't know exact syntax of MSSQL, however you could try something like that (pseudo-code)

SELECT ... FROM tbl_name WHERE col_name != CAST(col_name AS INTEGER)


are you just wanting the rows with a decimal in it?

select field
from table
where field like '%.%'


Try something like:

SELECT * 
FROM MyTable
WHERE (CONVERT(INT, floatField) - floatField) <> 0


You may also try this:

SELECT * FROM tbl WHERE col != ROUND(col)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜