SQL запрос для исключения цифр, скобок или специальных символов в конце имени - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь исключить все имена с числами в нем, но все еще включаю в себя определенные специальные символы, такие как: () - '

Пока у меня есть этот запрос:

ВЫБЕРИТЕ FirstName ИЗ КЛИЕНТА, ГДЕ FirstName НЕ НРАВИТСЯ '% [^ 0-9]%';

Это исключает большинство имен с числами в нем, однако, некоторые из них, как показано ниже, все еще проходят (не исключаются) :

enter image description here

Как исключить их сверху, но при этом сохранить строки, похожие на приведенные ниже:

enter image description here

Заранее спасибо!

1 Ответ

3 голосов
/ 05 февраля 2020

Я пытаюсь исключить все имена с номерами в нем.

Если вы используете SQL Сервер, ваша логика c имеет слишком много отрицаний. Вы хотите:

WHERE FirstName NOT LIKE '%[0-9]%';

Это означает, что FirstName не содержит цифр.

Если вы хотите, чтобы имена были только алфавитными и пробелами, используйте:

WHERE FirstName NOT LIKE '%[^a-zA-Z ]%';

Ваша версия просто утверждает, что строка не имеет символа, который не похож на ди git, то есть состоит только из цифр.

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