PostgreSQL má POSITION()
funkce, která vrací první počáteční index zadaného podřetězce v řetězci.
Pokud podřetězec v řetězci neexistuje, vrátí se nula.
Syntaxe
Syntaxe vypadá takto:
position ( substring text IN string text )
Příklady
Zde je příklad k demonstraci:
SELECT POSITION('and' IN 'Two Hands');
Výsledek:
6
Jak již bylo zmíněno, pokud podřetězec není v řetězci nalezen, vrátí se nula:
SELECT POSITION('squid' IN 'Two Hands');
Výsledek:
0
Nulové argumenty
Hodnoty Null vrátí null
:
\pset null '<null>'
SELECT
POSITION(null IN 'Two Hands') AS "1",
POSITION('and' IN null) AS "2";
Výsledek:
1 | 2 --------+-------- <null> | <null>
Vynechání argumentu
Vynechání argumentu způsobí chybu:
SELECT POSITION();
Výsledek:
ERROR: function pg_catalog.position() does not exist LINE 1: SELECT POSITION(); ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts.