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

Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

Cómo restringir que los valores de una columna sean únicos en SQL Server con UNIQUE

En este tutorial, aprenderás a utilizar la restricción UNIQUE de SQL Server para garantizar la integridad, precisión y confiabilidad de los datos contenidos en una columna o un grupo de columnas, es decir que no se repitan valores en una columna o en un conjunto de columnas.

Ver artículo completo
Tipo de datos DATETIME2 de SQL Server

Tipo de datos DATETIME2 de SQL Server

Resumen: en este tutorial, aprenderás a usar el tipo de datos DATETIME2 de SQL Server para almacenar datos de fecha y hora en una tabla.

Ver artículo completo
¿Qué es SQL Like y para qué sirve?

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

En este tutorial, aprenderás a usar el operador LIKE de SQL Server para verificar si una cadena de caracteres coincide con un patrón especificado.

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