POSITION в PostgreSQL: поиск подстроки

Функция POSITION в PostgreSQL используется для поиска подстроки в строке и возвращает позицию первого вхождения.

Синтаксис

POSITION(подстрока IN строка)
  • подстрока — искомая строка.
  • строка — исходная строка, в которой выполняется поиск.

Примеры использования

Поиск подстроки в строке

SELECT POSITION('SQL' IN 'PostgreSQL');  -- Результат: 8

Этот запрос определяет, что подстрока SQL начинается с 8-го символа в строке PostgreSQL.

SELECT POSITION('abc' IN 'abcdef');  -- Результат: 1

Поиск отсутствующей подстроки

SELECT POSITION('xyz' IN 'abcdef');  -- Результат: 0

Если подстрока отсутствует, функция возвращает 0.

Использование с таблицами

SELECT id, name, POSITION('a' IN name) AS position FROM users;

Этот запрос возвращает позиции первого вхождения символа a в имени пользователя из таблицы users.

Особенности

  • POSITION чувствителен к регистру.
  • Если подстрока найдена, возвращается её позиция (начиная с 1).
  • Если подстрока отсутствует, возвращается 0.
  • Аналогичная функция STRPOS() выполняет ту же задачу.
SELECT STRPOS('PostgreSQL', 'SQL');  -- Результат: 8