›  ›  ›  › Функция LOCATE() в SQL

Функция LOCATE() в SQL

Функция LOCATE() выполняет поиск подстроки (указанного текста) в строке, а затем возвращает позицию её первого символа. В отличие от функции POSITION(), функция LOCATE() может выполнить поиск не с начала строки, а с указанного места.

Обратите внимание, что нумерация символов начинается с 1.

Синтаксис функции LOCATE()

-- 1 вариант
SELECT LOCATE(что_ищем, поле_таблицы)
FROM имя_таблицы
WHERE условие_для_выборки;

-- 2 вариант
SELECT LOCATE(что_ищем, поле_таблицы, позиция_начала_поиска)
FROM имя_таблицы
WHERE условие_для_выборки;

Практический пример

Выполнить поиск слова lorem с 31 символа по полю description таблицы text.

Исходная таблица: text

Исходная таблица text с данными

Выполняем SQL-запрос.

SELECT *, LOCATE('Lorem', description, 31) as locate_lorem
FROM text

После выполнения запроса, будет выведена результирующая таблица с дополнительным столбцом locate_lorem, в котором будут указаны позиции первого символа подстроки. То что в колонке locate_lorem отображаются нули, значит, что в строке не найдено ни одного совпадения с 31 символа.

Результирующая таблица

Результат работы функции LOCATE() в SQL

Метки: , , .

Записи по теме

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *