Мы уже обсуждали оператор SQL LIKE, который используется для сравнения значения с аналогичными значениями с использованием подстановочных операторов.
SQL поддерживает два подстановочных оператора в сочетании с оператором LIKE, которые подробно описаны в следующей таблице.
Sr.No. | Подстановочный знак и описание |
---|---|
1 |
Знак процента (%) Соответствует одному или нескольким символам. Примечание. MS Access использует подстановочный знак звездочки (*) вместо подстановочного знака процента (%). |
2 |
Подчеркивание (_) Соответствует одному символу. Примечание. MS Access использует знак вопроса (?) Вместо подчеркивания (_) для соответствия любому одному символу. |
Знак процента (%)
Соответствует одному или нескольким символам.
Примечание. MS Access использует подстановочный знак звездочки (*) вместо подстановочного знака процента (%).
Подчеркивание (_)
Соответствует одному символу.
Примечание. MS Access использует знак вопроса (?) Вместо подчеркивания (_) для соответствия любому одному символу.
Знак процента представляет собой ноль, один или несколько символов. Подчеркивание представляет собой одно число или символ. Эти символы могут использоваться в комбинациях.
Синтаксис
Основной синтаксис операторов «%» и «_» следующий.
SELECT FROM table_name WHERE column LIKE 'XXXX%' or SELECT FROM table_name WHERE column LIKE '%XXXX%' or SELECT FROM table_name WHERE column LIKE 'XXXX_' or SELECT FROM table_name WHERE column LIKE '_XXXX' or SELECT FROM table_name WHERE column LIKE '_XXXX_'
Вы можете объединить N условий с помощью операторов И или ИЛИ. Здесь XXXX может быть любым числовым или строковым значением.
пример
В следующей таблице приведено несколько примеров, показывающих, что часть WHERE имеет различные предложения LIKE с операторами «%» и «_».
Sr.No. | Заявление и описание |
---|---|
1 |
Где заработная плата, как «200%» Находит любые значения, которые начинаются с 200. |
2 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ «% 200%» Находит любые значения, которые имеют 200 в любой позиции. |
3 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_00%’ Находит любые значения, которые имеют 00 во второй и третьей позиции. |
4 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘2 _% _%’ Находит любые значения, которые начинаются с 2 и имеют длину не менее 3 символов. |
5 |
ГДЕ НАГРАДНАЯ НРАВИТСЯ ‘% 2’ Находит любые значения, которые заканчиваются на 2. |
6 |
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_2% 3’ Находит любые значения, которые имеют 2 во второй позиции и заканчиваются на 3. |
7 |
Где заработная плата, как «2___3» Находит любые значения в пятизначном числе, которые начинаются с 2 и заканчиваются на 3. |
Где заработная плата, как «200%»
Находит любые значения, которые начинаются с 200.
ГДЕ НАЛОГОВАЯ НРАВИТСЯ «% 200%»
Находит любые значения, которые имеют 200 в любой позиции.
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_00%’
Находит любые значения, которые имеют 00 во второй и третьей позиции.
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘2 _% _%’
Находит любые значения, которые начинаются с 2 и имеют длину не менее 3 символов.
ГДЕ НАГРАДНАЯ НРАВИТСЯ ‘% 2’
Находит любые значения, которые заканчиваются на 2.
ГДЕ НАЛОГОВАЯ НРАВИТСЯ ‘_2% 3’
Находит любые значения, которые имеют 2 во второй позиции и заканчиваются на 3.
Где заработная плата, как «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.
SQL> SELECT * FROM CUSTOMERS WHERE SALARY LIKE '200%';
Это дало бы следующий результат.