T-SQL - предложение LIKE
Сервер MS SQL LIKEПредложение используется для сравнения значения с аналогичными значениями с использованием операторов подстановки. В сочетании с оператором LIKE используются два подстановочных знака:
- Знак процента (%)
- Подчеркивание (_)
Знак процента представляет собой ноль, один или несколько символов. Подчеркивание представляет собой одно число или символ. Символы можно использовать в комбинациях.
Синтаксис
Ниже приведен базовый синтаксис% и _.
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '%XXXX%'
or
SELECT *\column-list FROM table_name
WHERE column LIKE 'XXXX_'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX'
or
SELECT *\column-list FROM table_name
WHERE column LIKE '_XXXX_'
Вы можете объединить N условий, используя операторы И или ИЛИ. XXXX может быть любым числовым или строковым значением.
пример
Ниже приводится ряд примеров, показывающих, что часть WHERE имеет различное предложение LIKE с операторами '%' и '_'.
Старший Нет | Заявление и описание |
---|---|
1 | WHERE SALARY LIKE '200%' Находит любые значения, начинающиеся с 200 |
2 | WHERE SALARY LIKE '%200%' Находит любые значения, у которых 200 в любой позиции |
3 | WHERE SALARY LIKE '_00%' Находит любые значения, у которых на второй и третьей позициях стоит 00 |
4 | WHERE SALARY LIKE '2_%_%' Находит любые значения, которые начинаются с 2 и имеют длину не менее 3 символов |
5 | WHERE SALARY LIKE '%2' Находит любые значения, заканчивающиеся на 2 |
6 | WHERE SALARY LIKE '_2%3' Находит любые значения, у которых во второй позиции стоит 2 и заканчивается 3 |
7 | WHERE SALARY LIKE '2___3' Находит любые значения в пятизначном числе, начинающиеся с 2 и заканчивающиеся на 3 |
Рассмотрим таблицу CUSTOMERS со следующими записями.
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
Следующая команда является примером, который отобразит все записи из таблицы CUSTOMERS, где SALARY начинается с 200.
SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';
Вышеупомянутая команда выдаст следующий результат.
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
3 kaushik 23 Kota 2000.00