SQL "исключая" ​​буквенно-цифровое условие не работает - PullRequest
0 голосов
/ 17 мая 2019

Я знаю, что на форуме много дискуссий, но я думаю, что моя ситуация уникальна, я пытаюсь найти все поля address1, которые не имеют буквенно-цифровых значений, я просто запросил базовый sql (База данных - Sybase),как показано ниже

select  address1 from address_table where address1 like '%[^a-zA-Z0-9]%'

Мой набор содержит буквенно-цифровые значения,

~~~~~~~~~~~~
1304 LOVERS LN
1304 LOWE AVE
1304 LYNCHBURG ST #1
1304 LYNCHBURG ST #1
1304 LYNNWOOD DR
~~~~~~~~~~~~

Я не уверен, что мне не хватает

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Вы сопоставляете все, что имеет хотя бы один не буквенно-цифровой символ.Вы хотите вместо отрицательного:

select  address1 from address_table where address1 not like '%[a-zA-Z0-9]%'
0 голосов
/ 17 мая 2019

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

Плечожадный повторяющийся модификатор * для проверки каждого символа в строке на соответствие шаблону.

select address1 from address_table where address1 like '%[^a-zA-Z0-9]*%'
...