Fonction SQL Server PATINDEX

Fonction Sql Server Patindex



Ce tutoriel vise à vous guider dans la compréhension de l'utilisation de la fonction PATINDEX dans SQL Server. Cette fonction vous permet de déterminer la position de départ d'un motif dans une expression d'entrée donnée.

Fonction SQL Server Patindex()

L'extrait de code suivant définit la syntaxe de la fonction PATINDEX() dans SQL Server :







PATINDEX ( '%motif%' , expression )



Les arguments sont explorés ci-dessous :



  1. motif – cet argument définit l'expression de caractères à rechercher dans l'expression. Cette valeur prend en charge les caractères génériques tels que % et _. La fonction appliquera les caractères génériques de la même manière que l'opérateur LIKE. Vous ne pouvez fournir qu'un maximum de 8 000 caractères.
  2. expression – ceci définit l'expression dans laquelle le motif est recherché. Il peut s'agir d'une valeur littérale ou d'une colonne.

La fonction renverra alors une valeur entière indiquant la position de départ du premier modèle d'occurrence dans l'expression. Si le modèle n'est pas trouvé dans l'expression, la fonction renvoie 0.





Si l'un des arguments requis est NULL, la fonction renverra automatiquement NULL.

Exemple d'utilisation

Les exemples suivants illustrent l'utilisation de la fonction patindex() dans SQL Server.



Exemple 1 – Utilisation de base

Vous trouverez ci-dessous une démonstration de l'utilisation de base de la fonction patindex().

sélectionner patindex ( '%morceaux%' , 'https://geekbits.io' ) comme pos ;

Cela devrait renvoyer la position de départ du motif trouvé comme :

position
13

Exemple 2

Dans l'exemple ci-dessous, nous utilisons la fonction patindex() avec plusieurs caractères génériques.

sélectionner patindex ( '%g__k%' , 'https://geekbits.io' ) comme pos ;

Dans ce cas, la fonction doit renvoyer :

position
9

Exemple 3 - Utilisation de la fonction Patindex () avec un motif complexe

Nous pouvons également passer une expression régulière complexe comme modèle dans la fonction patindex comme indiqué :

sélectionner patindex ( '%[^0-9A-Za-z]%' , 'Bienvenue sur Linuxhint !!' ) comme match;

Résultat:

match
vingt-et-un

Exemple 4 - Utilisation de la fonction Patindex avec colonne

Supposons que nous ayons un tableau comme illustré ci-dessous :

Nous pouvons utiliser la fonction patindex() pour rechercher le modèle correspondant dans la colonne product_name comme indiqué dans la requête ci-dessous :

sélectionner nom_produit, fabricant, patindex ( '%2022%' , nom_produit ) place
à partir de produits

Cela devrait renvoyer la position du motif correspondant comme indiqué :

Conclusion

Dans ce didacticiel, nous avons couvert les principes fondamentaux de l'utilisation de la fonction PATINDEX() dans SQL Server.