Función PATINDEX de SQL Server
Resumen: en este tutorial, ha aprendido a usar la función SQL Server PATINDEX()
para encontrar la posición de un patrón en una cadena.
Descripción general de SQL Server PATINDEX ()
La función PATINDEX()
devuelve la posición de la primera aparición de un patrón en una cadena. La sintaxis de la etiqueta PATINDEX()
función es como sigue:
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
El PATINDEX()
función acepta dos argumentos:
-
pattern
es una expresión de caracteres que se puede encontrar. Puede contener caracteres comodín como%
y'_'
en el patrón. Los significados de los comodines son los mismos que se usan con el operadorLIKE
. -
input_string
es una cadena de caracteres en la que se busca el patrón.
El PATINDEX()
devuelve un entero que especifica la posición de la primera aparición del pattern
en el input_string
, o el cero del patrón no encontrado. El PATINDEX()
función devuelve NULL si pattern
o input_string
es NULO.
Tenga en cuenta que PATINDEX()
busca el patrón en función de la intercalación de la entrada. Si desea utilizar una intercalación específica, puede utilizar la cláusula COLLATE
explícitamente.
Ejemplos de funciones PATINDEX() de SQL Server
Veamos algunos ejemplos de uso de la función PATINDEX()
.
A) SQL Server PATINDEX () ejemplo simple
Este ejemplo devuelve la posición inicial de la subcadena 'ern'
en la cadena 'SQL Pattern Index'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Aquí está la salida:
position-----------9(1 row affected)
B) Uso de SQL Server PATINDEX() con varios comodines ejemplo
Este ejemplo utiliza %
y _
comodines para encontrar la posición en la que el patrón 'f'
, seguido de dos caracteres cualesquiera y 'ction'
comienza en la cadena 'SQL Server String Function'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
La salida es la siguiente:
Position-----------19(1 row affected)
C) Usando la función PATINDEX() de SQL Server con ejemplo de columna de tabla
Este ejemplo encuentra la posición de la primera aparición del patrón 2018
en los valores de la columna product_name
en la columna de la base de datos de ejemplo.
Code language: SQL (Structured Query Language) (sql)SELECT product_name, PATINDEX('%2018%', product_name) positionFROM production.productsWHERE product_name LIKE '%2018%'ORDER BY product_name;
La siguiente imagen muestra la salida parcial:
En este tutorial, usted ha aprendido a utilizar el SQL Server PATINDEX()
función para encontrar la posición de la primera ocurrencia de un patrón en una cadena.
Leave a Reply