MySQL: Оператор сравнения строк LIKE в MySQL
Оператор LIKE в MySQL — это оператор сравнения строк, который используется для поиска строк, соответствующих заданному шаблону или образцу, заданному с помощью специальных символов маски.
Символы маски, которые могут использоваться с оператором LIKE в MySQL, включают следующие:
- % - заменяет любое количество символов в строке, включая отсутствие символов;
- _ - заменяет один любой символ в строке;
Оператор LIKE может использоваться в команде SELECT, чтобы выбрать строки из таблицы, соответствующие заданному шаблону. Он может также использоваться в командах INSERT и UPDATE для вставки или изменения строк, соответствующих заданному шаблону.
# Поиск строк, содержащих определенное слово в любом месте строки SELECT * FROM table WHERE column LIKE '%word%'; # Поиск строк, начинающихся с определенной строки SELECT * FROM table WHERE column LIKE 'word%'; # Поиск строк, заканчивающихся определенной строкой SELECT * FROM table WHERE column LIKE '%word'; # Поиск строк, содержащих один из нескольких вариантов SELECT * FROM table WHERE column LIKE '%word1%' OR column LIKE '%word2%'; # Поиск строк, содержащих только определенные символы # Найдет все строки в таблице, где значение столбца "column" состоит из ровно трех символов SELECT * FROM table WHERE column LIKE '___'; # Поиск строк, содержащих определенное количество символов # Найдет все строки в таблице, где значение столбца "column" начинается со слова "word" и заканчивается ровно четырьмя символами. SELECT * FROM table WHERE column LIKE 'word____'; # Поиск строк, содержащих символ '_' в столбце column # Экранируем '_', чтобы он считывался как обычный символ, а не как символ маски SELECT * FROM table WHERE column LIKE '%\_%' ESCAPE '\'; # Поиск строк, содержащих символ '%' в столбце column # Экранируем '%', чтобы он считывался как обычный символ, а не как символ маски SELECT * FROM table WHERE column LIKE '%\%%' ESCAPE '\'; # Поиск строк, со значение в столбце column = '50%' # В качестве символа экранирования задан вопросительный знак SELECT * FROM table WHERE column LIKE '50?% ' ESCAPE '?';
Комментарии