PostgreSQL tiene una POSITION()
función que devuelve el primer índice inicial de una subcadena especificada dentro de una cadena.
Si la subcadena no existe en la cadena, se devuelve cero.
Sintaxis
La sintaxis es así:
position ( substring text IN string text )
Ejemplos
Aquí hay un ejemplo para demostrarlo:
SELECT POSITION('and' IN 'Two Hands');
Resultado:
6
Como se mencionó, si la subcadena no se encuentra en la cadena, se devuelve cero:
SELECT POSITION('squid' IN 'Two Hands');
Resultado:
0
Argumentos nulos
Los valores nulos devuelven null
:
\pset null '<null>'
SELECT
POSITION(null IN 'Two Hands') AS "1",
POSITION('and' IN null) AS "2";
Resultado:
1 | 2 --------+-------- <null> | <null>
Omitir el argumento
Omitir el argumento da como resultado un error:
SELECT POSITION();
Resultado:
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.