TSQL: строковые операции для сопоставления с шаблоном или подстановочным знаком для одного символа - PullRequest
0 голосов
/ 06 октября 2009

Рассмотрим необходимость запроса определенного шаблона данных в столбце. В качестве примера я буду использовать клиентов с канадскими почтовыми индексами.

ID       Postal
--       -------
442      90210  
631      T0R 4C2
447      YO31 1EB
145      F9S8S6
73       K9J 3K3

Притворись, что у тебя нет проблем (например, в поле штата / провинции или страны) или что у тебя есть отчет о несоответствии. Да, не доверяйте вводу пользователя!

-- we want to find: three chars + space + 3 chars 'XXX XXX'
-- LIKE % is not terribly helpful
SELECT * FROM SomeTable 
WHERE  Postal LIKE  --?

Мы хотим, чтобы набор результатов был

ID       Postal
--       -------
631      T0R 4C2
73       K9J 3K3

Вопрос: как бы вы сформулировали это LIKE предложение?

Ответы [ 2 ]

3 голосов
/ 06 октября 2009

Подчеркивание соответствует только одному символу. Это то, что вы ищете?

LIKE '___ ___'
2 голосов
/ 06 октября 2009
SELECT * 
FORM SomeTable 
WHERE Postal LIKE '___ ___'

Или даже лучше, когда вы хотите указать точные цифры-буквы, вы можете сделать это:

SELECT * 
FORM SomeTable 
WHERE Postal LIKE '[a-z][a-z][a-z] [0-9][0-9][0-9]'

Это зависит от типа кода, который вы хотите получить.

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