SQL

Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Estrada Web Group
Estrada Web Group
Uso de la función PATINDEX de SQL Server para encontrar la posición de un patrón en una cadena

Resumen: en este tutorial, aprenderás a usar la función PATINDEX() de SQL Server para encontrar la posición de un patrón en una cadena.

Introducción general de la función PATINDEX() en SQL Server

La función PATINDEX() devuelve la posición de la primera aparición de un patrón en una cadena. La sintaxis de la función PATINDEX() es la siguiente:

PATINDEX ( '%pattern%' , input_string )

La función PATINDEX() acepta dos argumentos:

  • pattern es una cadena de caracteres que se buscará. Puede contener caracteres comodines como % y '_' en el pattern. Los significados de los comodines son los mismos que se usan con el operador LIKE.
  • input_string es una cadena de caracteres en la que se busca el pattern.

PATINDEX() devuelve un número entero que especifica la posición de la primera aparición del pattern en input_string, o cero si no es encontrado el pattern. La función PATINDEX() devolverá NULL si pattern o input_string es NULL.

Ten en cuenta que PATINDEX() busca el patrón en función de la intercalación de la entrada. Si deseas utilizar una intercalación específica, puedes utilizar la cláusula COLLATE explícitamente.

Ejemplos de la función PATINDEX() de SQL Server

Veamos algunos ejemplos del uso de la función PATINDEX().

A) Función PATINDEX() de SQL Server ejemplo simple

Este ejemplo devuelve la posición inicial de la subcadena 'ern' en la cadena 'SQL Pattern Index':

SELECT
    PATINDEX('%ern%', 'SQL Pattern Index') position;

Resultado:

position
-----------
9

(1 row affected)

B) Función PATINDEX() de SQL Server con varios comodines

Este ejemplo utiliza comodines % y _ para encontrar la posición en la que comienza el patrón 'f', seguido de dos caracteres cualesquiera y 'ction' en la cadena 'SQL Server String Function':

SELECT
    PATINDEX('%f__ction%', 'SQL Server String Function') position;

Resultado:

Position
-----------
19

(1 row affected)

C) Uso de la función PATINDEX() de SQL Server con ejemplo de columna de tabla

Este ejemplo busca la posición de la primera aparición del patrón 2018 en los valores de la columna product_name en la tabla production.products de la base de datos de ejemplo.

SELECT    
    product_name,
    PATINDEX('%2018%', product_name) position
FROM    
    production.products
WHERE
    product_name LIKE '%2018%'
ORDER BY
    product_name;

La siguiente imagen muestra el resultado parcial:

PATINDEX SQL Server

En este tutorial, has aprendido a utilizar la función PATINDEX() de SQL Server para encontrar la posición de la primera aparición de un patrón en una cadena.

Compartir artículo:

Más artículos geniales

¿Qué es y para qué sirve SQL UNION?

¿Qué es y para qué sirve SQL UNION?

En este tutorial, aprenderá a usar SQL UNION para combinar los resultados de dos o más tablas en un solo conjunto de resultados.

Ver artículo completo
Cómo convertir texto a minúsculas con LOWER en SQL Server

Cómo convertir texto a minúsculas con LOWER en SQL Server

Resumen: en este tutorial, aprenderás a usar la función LOWER() de SQL Server para convertir una cadena a minúsculas.

Ver artículo completo
¿Cómo usar el Having en SQL Server con ejemplos?

¿Cómo usar el Having en SQL Server con ejemplos?

Resumen: en este tutorial, aprenderás a usar la cláusula HAVING de SQL Server para filtrar los grupos según las condiciones especificadas.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla