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(); ^СЪВЕТ:Никоя функция не съответства на даденото име и типове аргументи. Може да се наложи да добавите изрични прехвърляния на типа.