sql >> Databáze >  >> RDS >> PostgreSQL

Jak POSITION() funguje v PostgreSQL

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.

  1. MySQL InnoDB Cluster 8.0 – Kompletní průvodce operací:Část druhá

  2. Existuje v databázích Oracle nějaký booleovský typ?

  3. Jak mohu vytáhnout seznam ID z tabulky SQL jako řetězec hodnot oddělených čárkami?

  4. Jak opravit chybu Microsoft SQL Server 926?- Vyřešeno