Как получить только числовые значения столбцов?

Монако 12 ПБ, там какой-либо другой путь?

22
задан Gopal 7 December 2009 в 09:35
поделиться

3 ответа

SELECT column1 FROM table WHERE ISNUMERIC(column1) = 1

Обратите внимание, как Damien_The_Unbeliever указал , это будет включать любой действительный числовой тип .

Чтобы отфильтровать столбцы, содержащие нецифровые символы (и пустые строки), вы можете использовать

SELECT column1 FROM table WHERE column1 not like '%[^0-9]%' and column1 != ''
55
ответ дан 29 November 2019 в 03:22
поделиться

Другие ответы, указывающие на использование IsNumeric в предложении where, верны в той степени, в которой они идут, но важно помнить, что он возвращает 1, если значение может быть преобразовано в любой числовой тип. Таким образом, странности, такие как "1d3", пройдут через фильтр.

Если вам нужны только значения, состоящие из цифр, ищите это явно:

SELECT column1 FROM table WHERE column1 not like '%[^0-9]%'

Вышеупомянутая фильтрация отклоняет любой столбец, содержащий нецифровые character

Обратите внимание, что в любом случае вы собираетесь сканировать таблицу, индексы бесполезны для такого рода запросов.

34
ответ дан 29 November 2019 в 03:22
поделиться

Попробуйте использовать предложение WHERE :

SELECT column1 FROM table WHERE Isnumeric(column1);
3
ответ дан 29 November 2019 в 03:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: