Функция 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