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

SQL Oracle Discussion :

Expression régulière avec regexp_substr


Sujet :

SQL Oracle

  1. #1
    Membre chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Par défaut Expression régulière avec regexp_substr
    Bonjour,

    J'ai créé une expression régulière avec regexp_substr afin d'extraire le nom de la table après le mot-clé FROM d'un SELECT.

    L'expression régulière me renvoi bien le nom de la table mais il y a le caractère m du mot from suivi d'un espace et du nom de la table.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select regexp_substr('select count(0), max(id_cand) from rh_recr_candidat where id_soci = 3170', '[from][[:space:]](\w+)') REGEXPR_SUBSTR from dual;

    Je ne voudrais extraire que le nom de la table ie rh_recr_candidat

    Merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 962
    Par défaut
    regex_substr renvoie ce qui correspond, si vous voulez le nom de la table utilisez regex_replace:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select regexp_replace('select count(0), max(id_cand) from rh_recr_candidat where id_soci = 3170', '.*from[[:space:]]+(\w+)\s+.*','\1',1,1,'i') re from dual;

  3. #3
    Membre chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Par défaut
    Merci pour votre retour. Votre solution répond à mes attentes.

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

Discussions similaires

  1. Expressions régulières avec variable
    Par killprog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/04/2006, 17h03
  2. [VC++ 2005 Express] PB avec les API (SDK)
    Par dorian833 dans le forum MFC
    Réponses: 16
    Dernier message: 25/11/2005, 23h30
  3. Expression réguliére avec CHECK
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2005, 17h38
  4. Expression régulière avec "|"
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2005, 15h09
  5. [langage] Ptit Probleme expression réguliere avec perl
    Par Shoot Again dans le forum Langage
    Réponses: 3
    Dernier message: 02/12/2004, 12h44

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