IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Oracle Discussion :

[FAQ] Expression régulière avec SQL


Sujet :

Contribuez Oracle

  1. #1
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut [FAQ] Expression régulière avec SQL
    Bonjour,
    Lorsque que j'en ai eu besoin je n'ai pas trouvé d'info sur les expressions régulières pour Oracle dans la FAQ et/ou les tutos. J'ai du regarder dans le forum.
    Je pense que c'est dommage parce que ça doit être une question régulière.
    Voici donc ma contribution

    Comment utiliser une expression régulière dans Oracle ?

    Syntaxe générale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT MaColonne
    FROM MaTable
    WHERE [NOT] regexp_like(MaColonne,'expression régulière')
    Exemple concret :

    Table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Id | Immatriculation
    1  | 124LO12
    2  | 734UI45
    3  | 459HJ03
    4  | 484BG45
    Nous voulons les immatriculations qui terminent par 45.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Id 
    FROM MaTable
    WHERE [NOT] regexp_like(Immatriculation,'[0-9]{3}[A-Z]{2}45')
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Id | Immatriculation
    2  | 734UI45
    4  | 484BG45
    ~ Lola ~

  2. #2
    Membre émérite Avatar de lola06
    Femme Profil pro
    Consultante en Business Intelligence
    Inscrit en
    Avril 2007
    Messages
    1 316
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultante en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 316
    Points : 2 520
    Points
    2 520
    Par défaut
    Dans le même genre, pour remplacer une expression régulière :

    Syntaxe générale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT regexp_replace(MaColonne,'expression régulière','texte de remplacement',option)
    FROM MaTable


    Exemple concret :

    Table :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Num
    158-4632#4589
    245-6321#5896
    159-7463#5489
    269-7532#8956
    Pour une raison quelconque nous voulons remplacer les chiffres 2, 3 et # par x.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT regexp_replace(Num,'[23#]','x','g')
    FROM MaTable
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Num
    158-46xxx4589
    x45-6xx1x5896
    159-746xx5489
    x69-75xxx8956
    L'option 'g' permet d'appliquer le replace à toutes les occurrences du champs, dans le cas où elle n'aurait pas été utilisée voici le résultat qui aurait été obtenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Num
    158-46x2#4589
    x45-6321#5896
    159-746x#5489
    x69-7532#8956
    ~ Lola ~

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Expression Régulière avec Quote
    Par jon301 dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 23h08
  2. [RegEx] Expression régulière avec preg_match_all
    Par tit_oune dans le forum Langage
    Réponses: 6
    Dernier message: 19/05/2006, 00h28
  3. Expressions régulières avec variable
    Par killprog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2006, 18h03
  4. Expression réguliére avec CHECK
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2005, 18h38
  5. Expression régulière avec "|"
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2005, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo