Funció PATINDEX de SQL Server

Funcio Patindex De Sql Server



Aquest tutorial té com a objectiu guiar-vos per entendre com utilitzar la funció PATINDEX a SQL Server. Aquesta funció us permet determinar la posició inicial d'un patró en una expressió d'entrada determinada.

Funció SQL Server Patindex().

El fragment de codi següent defineix la sintaxi de la funció PATINDEX() a SQL Server:







PATINDEX ( '%patró%' , expressió )



Els arguments s'exploren a continuació:



  1. patró – aquest argument defineix l'expressió de caràcter que s'ha de cercar a l'expressió. Aquest valor admet caràcters comodins com ara % i _. La funció aplicarà els caràcters comodís de manera similar a l'operador LIKE. Només podeu proporcionar un màxim de 8000 caràcters.
  2. expressió – Això defineix l'expressió on es cerca el patró. Pot ser un valor literal o una columna.

Aleshores, la funció retornarà un valor enter que denota la posició inicial del primer patró d'ocurrència de l'expressió. Si el patró no es troba a l'expressió, la funció retorna 0.





Si algun dels arguments necessaris és NULL, la funció tornarà automàticament NULL.

Exemple d'ús

Els exemples següents il·lustren com utilitzar la funció patindex() a SQL Server.



Exemple 1: ús bàsic

A continuació es mostra una demostració de l'ús bàsic de la funció patindex().

seleccionar patindex ( '%bits%' , 'https://geekbits.io' ) com pos;

Això hauria de tornar la posició inicial del patró trobat com:

pos
13

Exemple 2

A l'exemple següent, estem utilitzant la funció patindex() amb diversos caràcters comodí.

seleccionar patindex ( '%g__k%' , 'https://geekbits.io' ) com pos;

En aquest cas, la funció hauria de tornar:

pos
9

Exemple 3: ús de la funció Patindex() amb un patró complex

També podem passar una expressió regular complexa com a patró a la funció patindex tal com es mostra:

seleccionar patindex ( '%[^0-9A-Za-z]%' , 'Benvingut a Linuxhint!!' ) com partit;

Resultat:

partit
21

Exemple 4: ús de la funció Patindex amb columna

Suposem que tenim una taula tal com es mostra a continuació:

Podem utilitzar la funció patindex() per cercar un patró coincident a la columna product_name tal com es mostra a la consulta següent:

seleccionar Product_name, fabricant, patindex ( '%2022%' , nom del producte ) lloc
a partir de productes

Això hauria de tornar la posició del patró coincident tal com es mostra:

Conclusió

En aquest tutorial, vam tractar els fonaments de treballar amb la funció PATINDEX() a SQL Server.