PostgreSQL има POSITION() функция, която връща първия начален индекс на определен подниз в рамките на низ.
Ако поднизът не съществува в низа, тогава се връща нула.
Синтаксис
Синтаксисът е така:
position ( substring text IN string text ) Примери
Ето пример за демонстрация:
SELECT POSITION('and' IN 'Two Hands'); Резултат:
6
Както споменахме, ако поднизът не е намерен в низа, се връща нула:
SELECT POSITION('squid' IN 'Two Hands'); Резултат:
0
Нулеви аргументи
Нулевите стойности връщат null :
\pset null '<null>'
SELECT
POSITION(null IN 'Two Hands') AS "1",
POSITION('and' IN null) AS "2"; Резултат:
<преди> 1 | 2 --------+-------- <нулева> |Пропускане на аргумента
Пропускането на аргумента води до грешка:
SELECT POSITION(); Резултат:
ГРЕШКА:функция pg_catalog.position() не съществува LINE 1:SELECT POSITION(); ^СЪВЕТ:Никоя функция не съответства на даденото име и типове аргументи. Може да се наложи да добавите изрични прехвърляния на типа.