Найти нецелые значения в поле с плавающей точкой - PullRequest
3 голосов
/ 21 февраля 2011

У меня проблемы с поиском способа написания запроса, который будет возвращать все нецелые числа в столбце с плавающей точкой в ​​SQL Server 2005/8.

У меня есть поле с плавающей точкой, где большинство данных в нем на самом деле являются целыми числами, но я хотел бы взглянуть на строки, в которых значения фактически содержат десятичное значение.Первое, что я попробовал, это модуль 1, но оператор% не работает со значениями с плавающей запятой.

Спасибо за вашу помощь!

Ответы [ 4 ]

5 голосов
/ 21 февраля 2011

Я не знаю точного синтаксиса MSSQL, однако вы можете попробовать что-то подобное (псевдокод)

SELECT ... FROM tbl_name WHERE col_name != CAST(col_name AS INTEGER)
4 голосов
/ 21 февраля 2011

Вы просто хотите строки с десятичной дробью?

select field
from table
where field like '%.%'
3 голосов
/ 21 февраля 2011

Попробуйте что-то вроде:

SELECT * 
FROM MyTable
WHERE (CONVERT(INT, floatField) - floatField) <> 0
2 голосов
/ 21 февраля 2011

Вы также можете попробовать это:

SELECT * FROM tbl WHERE col != ROUND(col)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...