PostgreSQL a une POSITION()
fonction qui renvoie le premier index de départ d'une sous-chaîne spécifiée dans une chaîne.
Si la sous-chaîne n'existe pas dans la chaîne, zéro est renvoyé.
Syntaxe
La syntaxe ressemble à ceci :
position ( substring text IN string text )
Exemples
Voici un exemple pour illustrer :
SELECT POSITION('and' IN 'Two Hands');
Résultat :
6
Comme mentionné, si la sous-chaîne n'est pas trouvée dans la chaîne, zéro est renvoyé :
SELECT POSITION('squid' IN 'Two Hands');
Résultat :
0
Arguments nuls
Les valeurs nulles renvoient null
:
\pset null '<null>'
SELECT
POSITION(null IN 'Two Hands') AS "1",
POSITION('and' IN null) AS "2";
Résultat :
1 | 2 --------+-------- <null> | <null>
Omettre l'argument
L'omission de l'argument entraîne une erreur :
SELECT POSITION();
Résultat :
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.