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