НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
47 of 150 menu

Функция LOCATE

Функция LOCATE осуществляет поиск подстроки в строке и возвращает позицию ее первого символа. Нумерация символов начинается с 1. Если подстрока не найдена, возвращается 0.

В отличие от функции POSITION, функция LOCATE может начинать поиск не с начала строки, а с указанной позиции.

Синтаксис

Поиск подстроки с начала строки:

SELECT LOCATE(substr, field) FROM table_name WHERE condition

Поиск подстроки, начиная с указанной позиции:

SELECT LOCATE(substr, field, start) FROM table_name WHERE condition

Таблицы для примеров

texts
id text
1 Very long text!
2 Not very long text!
3 Just text!

Пример

Давайте найдём в тексте позицию слова 'long':

SELECT id, text, LOCATE('long', text) AS pos FROM texts

Результат выполнения кода:

id text pos
1 Very long text! 6
2 Not very long text! 10
3 Just text! 0

Пример

Давайте найдём в тексте позицию слова 'long', начиная поиск с 8-го символа строки:

SELECT id, text, LOCATE('long', text, 8) AS pos FROM texts

Результат выполнения кода:

id text pos
1 Very long text! 0
2 Not very long text! 10
3 Just text! 0

Смотрите также

  • функцию POSITION,
    которая осуществляет поиск подстроки в строке
  • функцию INSTR,
    которая осуществляет поиск подстроки в строке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить