SQL REGEXP_REPLACE

Sql Regexp Replace



Les données texte ou chaînes, comme les appellent les développeurs, sont un élément majeur de tout programme fonctionnel. Ce n'est pas différent lorsqu'il s'agit de stocker les données. Presque toutes les bases de données contiennent une certaine forme d'informations textuelles telles que des noms, des journaux, etc.

En tant que telle, la manipulation de chaînes est une tâche courante qui implique la manipulation et la transformation des valeurs de chaîne dans un format spécifique.

L'une des fonctions les plus puissantes de SQL traitant des opérations sur les chaînes est la fonction REGEXP_REPLACE(). Cette fonction nous permet d'effectuer la recherche et le remplacement basés sur des expressions régulières. Si vous êtes familier avec les expressions régulières, vous savez à quel point cette fonction peut être puissante.







Dans ce didacticiel, nous apprendrons comment utiliser cette fonction pour rechercher et remplacer les chaînes dans la base de données SQL.



SQL REGEXP_REPLACE

SQL REGEXP_REPLACE() est une fonction qui nous permet d'effectuer la correspondance et le remplacement de modèles basés sur des expressions régulières dans une chaîne donnée.



L'expression régulière, ou regex, est un modèle défini et des espaces réservés qui nous permettent de faire correspondre et de manipuler les chaînes ou sous-chaînes qui suivent un modèle spécifique.





Il est bon de garder à l’esprit que chaque moteur de base de données peut implémenter légèrement la syntaxe et les fonctionnalités de la fonction.

Cependant, nous pouvons exprimer sa syntaxe comme suit :



REGEXP_REPLACE(input_string, modèle, remplacement [, flags])

Les paramètres de la fonction sont exprimés comme suit :

  1. input_string – Ceci spécifie la chaîne dans laquelle nous souhaitons rechercher et remplacer.
  2. Modèle – Ceci spécifie le modèle d'expression régulière que nous voulons faire correspondre dans la chaîne d'entrée.
  3. Remplacement – ​​Ceci spécifie la chaîne qui remplacera les sous-chaînes correspondantes.
  4. Indicateurs – Il s'agit d'un ensemble d'indicateurs facultatifs qui peuvent aider à modifier la fonctionnalité de l'expression régulière. Par exemple, nous pouvons activer la recherche globale, la correspondance insensible à la casse, etc. Cette fonctionnalité varie en fonction du moteur de base de données.

Exemples:

Pour mieux comprendre le fonctionnement de cette fonction, regardons quelques exemples d'utilisation.

Exemple 1 : utilisation de base

Supposons que nous disposions d'un tableau contenant les informations sur les employés, comme indiqué dans l'exemple de résultat suivant :

Prenons un cas où nous souhaitons remplacer l'occurrence de la chaîne « Charlie » par « Matthew ». Nous pouvons utiliser la requête comme suit :

SÉLECTIONNER

REGEXP_REPLACE(prénom, 'Charlie', 'Matthieu') AS nouveau_nom

DEPUIS

employés;

L'exemple donné montre une recherche et un remplacement de base pour trouver la chaîne « Charlie » dans la colonne « prénom » et la remplacer par « Matthew ».

Sortir:

Exemple 2 : remplacement insensible à la casse

Dans certains cas, vous souhaiterez peut-être effectuer une recherche qui ne respecte pas la casse. Cela signifie que la fonction examinera uniquement le contenu de la chaîne et non la casse réelle des lettres alphanumériques.

Dans un tel cas, nous utilisons le « i » comme indicateur de fonction comme suit :

SELECT REGEXP_REPLACE(product_description, Samsung, Apple, 'i') COMME modifié

DE produits ;

En définissant le drapeau sur « i », la fonction correspond à tous les mots qui correspondent à « Samsung », quelle que soit la casse.

Conclusion

Dans cet exemple, nous avons exploré comment utiliser et travailler avec la fonction REGEXP_REPLACE() pour effectuer la recherche et le remplacement basés sur un modèle d'expression régulière.