Fonction PATIN SQL Server
Résumé : dans ce tutoriel, vous avez appris à utiliser la fonction SQL Server PATINDEX()
pour trouver la position d’un motif dans une chaîne.
Aperçu de SQL Server PATINDEX()
La fonction PATINDEX()
renvoie la position de la première occurrence d’un motif dans une chaîne. La syntaxe de la fonction PATINDEX()
est la suivante :
Code language: SQL (Structured Query Language) (sql)PATINDEX ( '%pattern%' , input_string )
La fonction PATINDEX()
accepte deux arguments:
pattern
est une expression de caractère à trouver. Il peut contenir des caractères génériques tels que%
et'_'
dans le modèle. Les significations des caractères génériques sont les mêmes qu’avec l’opérateurLIKE
.input_string
est une chaîne de caractères dans laquelle le motif à rechercher.
Le PATINDEX()
renvoie un entier qui spécifie la position de la première occurrence du pattern
dans le input_string
, ou zéro du motif introuvable. La fonction PATINDEX()
retournera NULL si pattern
ou input_string
est NULL.
Notez que PATINDEX()
recherche le motif en fonction du classement de l’entrée. Si vous souhaitez utiliser un classement spécifique, vous pouvez utiliser explicitement la clause COLLATE
.
Exemples de fonctions SQL Server PATINDEX()
Prenons quelques exemples d’utilisation de la fonction PATINDEX()
.
A)Exemple simple de SQL Server PATINDEX()
Cet exemple renvoie la position de départ de la sous-chaîne 'ern'
dans la chaîne 'SQL Pattern Index'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%ern%', 'SQL Pattern Index') position;
Voici la sortie:
position-----------9(1 row affected)
B) Utilisation de SQL Server PATINDEX() avec plusieurs caractères génériques exemple
Cet exemple utilise des caractères génériques %
et _
pour trouver la position à laquelle le motif 'f'
, suivi de deux caractères quelconques et 'ction'
commence dans la chaîne 'SQL Server String Function'
:
Code language: SQL (Structured Query Language) (sql)SELECT PATINDEX('%f__ction%', 'SQL Server String Function') position;
La sortie est la suivante:
Position-----------19(1 row affected)
C) Utilisation de la fonction SQL Server PATINDEX() avec exemple de colonne de table
Cet exemple trouve la position de la première occurrence du motif 2018
dans les valeurs de la colonne product_name
dans la colonne production.products
table de l’exemple de base de données.
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;
L’image suivante montre la sortie partielle:
Dans ce tutoriel, vous avez appris à utiliser la fonction SQL Server PATINDEX()
pour trouver la position de la première occurrence de un motif dans une chaîne.
Leave a Reply