Comment utiliser Regex dans le serveur SQL avec un opérateur similaire

Comment utiliser Regex dans le serveur SQL avec un opérateur similaire
Les expressions régulières sont une compétence fondamentale pour tous ceux qui souhaitent rechercher et manipuler des cordes. Vous pouvez spécifier des expressions précises et complexes en utilisant Regex pour trouver et remplacer diverses chaînes et motifs. Dans des outils, tels que SSM.

Dans ce guide, cependant, nous examinerons comment exécuter des requêtes d'expressions régulières en T-SQL en utilisant les opérateurs similaires et non comme les opérateurs.

Remarque: les expressions régulières sont un sujet complet et ne peuvent pas être épuisées dans un seul tutoriel. Au lieu de cela, nous nous concentrerons sur la commande le plus et le regex le plus utile que vous pouvez utiliser dans vos opérations quotidiennes de base de données.

Dans T-SQL, nous pouvons définir des expressions régulières en utilisant l'opérateur similaire. L'opérateur prendra l'expression correspondante et trouvera tous les modèles de correspondance.

Il existe différents types d'expressions régulières dans SQL Server:

  1. Regex alphabétique
  2. Regex numérique
  3. Caractère spécial regex
  4. Regex de la casse sensible
  5. Exclusion Regex

Laissez-nous comprendre comment nous pouvons définir une expression régulière dans SQL Server.

Exemples d'expressions régulières SQL Server

Comprenons comment utiliser des expressions régulières dans SQL Server en utilisant des exemples pratiques. Dans cet article, nous utiliserons la base de données SalesDB.

Vous pouvez télécharger l'exemple de base de données à partir de la ressource suivante:

Exemple 1

L'exemple de requête suivante utilise une expression régulière pour trouver le nom des produits, en commençant par la lettre L:

Utiliser SalesDB;
Sélectionnez le nom dans les produits où le nom comme «[l]%»;

La requête précédente doit trouver les modèles de correspondance et renvoyer le résultat comme indiqué:

Exemple 2

Nous filtrons pour faire correspondre les produits dans l'exemple ci-dessus, en commençant par la lettre L. Pour filtrer les première et deuxième lettres, nous pouvons effectuer ce qui suit:

Sélectionnez le nom dans les produits où le nom comme «[l] [o]%»;

La requête doit renvoyer les noms des produits à partir de LO. L'ensemble résultant est indiqué comme:

Exemple 3

Pour filtrer plus de deux lettres, spécifiez chaque lettre dans ses carrés comme indiqué:

Sélectionnez le nom dans les produits où le nom comme «[l] [o] [c] [k]%»;

L'ensemble résultant est indiqué comme:

Exemple 4

Supposons que vous souhaitiez filtrer pour les produits correspondant à une gamme de chaînes spécifique. Par exemple, les produits commençant par des caractères entre L - P:

Sélectionnez le nom dans les produits où le nom comme «[l-p]%»;

L'ensemble résultant est comme indiqué:

Exemple 5

Vous pouvez également filtrer pour plusieurs conditions de correspondance dans une seule requête comme indiqué:

Sélectionnez le nom dans les produits où le nom comme «[l-p] [a-o]%»;

Un exemple de jeu de résultats est le:

Exemple 6

Supposons que vous souhaitiez obtenir des produits se terminant par un personnage spécifique? Dans ce cas, vous pouvez modifier la position du pourcentage comme indiqué:

Sélectionnez le nom dans les produits où le nom comme «% [pe]»;

Les résultats sont tels que montrés:

Exemple 7

Pour filtrer pour le démarrage et la fin des caractères spécifiés qui en résultent, vous pouvez exécuter la requête comme:

Sélectionnez * dans les produits où le nom comme '[à]% [re]';

La requête ci-dessus doit renvoyer un ensemble de résultats comme:

Exemple 8

Et si vous souhaitez exclure des caractères spécifiques de la requête de filtre? Vous pouvez utiliser le ^ Pour exclure les caractères.

Par exemple, pour que tous les produits commencent par tous les autres personnages en dehors de A à M, nous pouvons effectuer ce qui suit:

Sélectionnez * dans les produits où le nom comme «[^ a-m]%»;

Les résultats doivent exclure la lettre A à M.

Exemple 9

Supposons que vous souhaitiez trouver les produits où le nom contient un numéro? Nous pouvons exécuter une requête comme indiqué:

Sélectionnez * dans les produits où le nom comme '% [0-9]';

Le résultat doit être comme indiqué:

Remarque: vous pouvez utiliser l'opérateur pas comme noire pour annuler le résultat de l'expression régulière.

Conclusion

Dans cet article, vous avez appris à utiliser des expressions régulières dans SQL Server en utilisant l'opérateur similaire. Nous espérons que vous avez trouvé cet article utile. Consultez plus d'articles sur les conseils pour les conseils et les informations, et vous pouvez en savoir plus sur Regex dans les documents SQL Server.