SELECT column1 FROM table WHERE ISNUMERIC(column1) = 1
Обратите внимание, как Damien_The_Unbeliever указал , это будет включать любой действительный числовой тип .
Чтобы отфильтровать столбцы, содержащие нецифровые символы (и пустые строки), вы можете использовать
SELECT column1 FROM table WHERE column1 not like '%[^0-9]%' and column1 != ''
Другие ответы, указывающие на использование IsNumeric в предложении where, верны в той степени, в которой они идут, но важно помнить, что он возвращает 1, если значение может быть преобразовано в любой числовой тип. Таким образом, странности, такие как "1d3", пройдут через фильтр.
Если вам нужны только значения, состоящие из цифр, ищите это явно:
SELECT column1 FROM table WHERE column1 not like '%[^0-9]%'
Вышеупомянутая фильтрация отклоняет любой столбец, содержащий нецифровые character
Обратите внимание, что в любом случае вы собираетесь сканировать таблицу, индексы бесполезны для такого рода запросов.
Попробуйте использовать предложение WHERE
:
SELECT column1 FROM table WHERE Isnumeric(column1);