Выберите только строку с номером SQL Server - PullRequest
8 голосов
/ 12 января 2012

Мне нужно выбрать только строки в моей таблице, но эта таблица содержит числа и строки вместе.

Пример:

ID Name
1  Jacke11
2  Andre
3  Rodrigo11
4  55555

Мой выбор должен возвращать только Ids: 1, 2, 3.

Спасибо

Ответы [ 2 ]

18 голосов
/ 12 января 2012
SELECT ID
    FROM YourTable
    WHERE ISNUMERIC(Name + '.0e0') = 0
6 голосов
/ 12 января 2012

В качестве альтернативы очень хорошему решению ISNUMERIC Джо, вы можете использовать PATINDEX, чтобы убедиться, что у вас есть альфа-символ:

SELECT ID
    FROM YourTable
    WHERE PATINDEX('%[a-z]%', name) > 0

Это может быть немного быстрее, так как он остановит поиск строки, как только доберется до первого буквенного символа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...