Servidor SQL – Función PATINDEX()

La función PATINDEX() en el servidor SQL se usa para devolver el índice de inicio de la primera aparición de un patrón en una string o expresión especificada. 

  • Devuelve cero si no se encuentra el patrón.
  • Devuelve NULL si el patrón o la expresión son NULL.
  • El índice inicial es 1.

Sintaxis:

PATINDEX ( '%pattern%' , expression )

Hay dos parámetros y ambos son obligatorios.

  • Patrón: esta es la secuencia que se encuentra en la string que debe estar rodeada por %. Se pueden utilizar otros caracteres comodín en los patrones. El patrón tiene un límite de 8000 caracteres. Otros caracteres comodín son ‘%’, ‘-‘, ‘[]’, ‘[^]’.
  • Expresión: una string en la que se busca el patrón especificado.

Aplicable a:

La función PATINDEX() es aplicable a las siguientes bases de datos.

  • SQL Server (todas las versiones compatibles)
  • Base de datos Azure SQL
  • Almacén de datos Azure SQL
  • Instancia administrada de Azure SQL
  • Sistema de plataforma de análisis de Azure Synapse Analytics (PDW)
  • Almacén de datos paralelo

Supongamos que si queremos encontrar la primera aparición de ‘ek’ en la string ‘GeeksforGeeks’, entonces la consulta será como:

Consulta:

SELECT PATINDEX('%ek%', 'GeeksforGeeks');

Producción:

3

 

Ahora, si encontramos la primera aparición de la letra ‘z’ en la string ‘GeeksforGeeks’.

Consulta:

SELECT PATINDEX('%[z]%', 'GeeksforGeeks');

Producción:

Devuelve 0 porque la string dada no contiene la letra ‘z.

0

Tomemos otro ejemplo para encontrar la primera aparición del símbolo en la string ‘¿Cómo estás?’.

Consulta:

SELECT position = PATINDEX('%[^ 0-9A-z]%', 'How are you?');

Producción:

12

Publicación traducida automáticamente

Artículo escrito por snehalchitnis1851 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *