Standard (ANSI) SQL имеет два подстановочные символы для использования с LIKE ключевого слова:
- _ (подчеркивание). Соответствует одному вхождению любого отдельного символа.
- % (знак процента). Соответствует нулю или более вхождений любого отдельного символа.
Кроме того, SQL Server расширяет LIKE групповой символ, соответствующий для включения набора символов спецификации, а как обычный набора регулярно expresion символов спецификатора:
- [Символьный набор] Соответствует одному символу из указанный набор
- [^ character-set] Соответствует одному символу не в указанном наборе.
Наборы символов могут быть определены обычным способом в виде диапазона, а также:
- [0-9] соответствует любой десятичной цифре.
- [A-Z] соответствует любой прописной букве
- [^ A-Z0-9-] соответствует любому символу, который не является буквой, цифрой или дефисом.
Семантика соответствия букв, конечно, зависит от последовательности сортировки при использовании. Это может быть или не быть чувствительным к регистру.
Кроме того, чтобы соответствовать литеральной левой квадратной скобке ('[]'), вы должны использовать использовать спецификатор диапазона символов. Вы не получите синтаксическую ошибку, но вы также не получите соответствия.
where x.field like 'x[[][0-9]]'
будет соответствовать текст, который выглядит как 'х [0]', 'х [8] и т.д. Но
where 'abc[x' like 'abc[x'
всегда будет ложным.
Обратите внимание, что разные версии SQL предоставляют вам различные варианты; но все они поддерживают '%'. – egrunin