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ó:
- 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.
- 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:
pos13
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:
pos9
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:
partit21
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 ) lloca 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.