Link Search Menu Expand Document
16 Мая 2023 г.

Как найти строку по шаблону с помощью оператора LIKE в mysql

Оператор LIKE используется в выражениях sql для поиска строк подходящих под шаблон. Шаблон включает следующие специальные символы:

  • % - любой символ от 0 и больше
  • _ - один любой символ

Удобно использовать для поиска.

# Точное совпадение, что в принципе равно SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` = 'Тест'
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE 'Тест';
# Выражение должно начинаться с буквы А
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE 'А%';
# В выражении должна быть буква а
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '%а';
# Самый распространенный вариант буква А в любой позиции в выражении
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '%А%';
# Выражение из двух букв, любой символ + буква Б
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '_Б';
# Выражение где первый и третий символ любой, второй буква K далее любой набор символов
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '_К_%';
# Если нужно найти строку где есть % или _ их нужно экранировать следующим образом
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '%\%%';
# Или так
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '%!%%' ESCAPE '!';
# Если нужно выбрать несколько значений используем несколько операторов LIKE
SELECT `id`,`name`, `full_title` FROM `clients` WHERE `name` LIKE '%Атак' OR `name` LIKE '%Ашан';
# Иногда требуется реализовать регистронезависимый поиск, сделать это можно перевести все названия в верхний регистр
SELECT `id`,`name`, `full_title` FROM `clients` WHERE UPPER(`name`) LIKE UPPER('%А');

Возник вопрос или предложение пиши на почту alexsey_89@bk.ru или в Телеграмм канал

Дата публикации: 16 Мая 2023 г.

Содержание


Наверх

Последнее изменение страницы: 16 Мая 2023 г.