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_replace


Sujet :

SQL Oracle

  1. #1
    Membre éprouvé
    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
    Points : 1 128
    Points
    1 128
    Par défaut Expression régulière avec regexp_replace
    Bonjour,

    J'ai créé une expression régulière avec regexp_replace afin d'extraire le nom de la colonne qui se situe entre parenthèse sachant qu'il s'agit d'une valeur non-numérique.

    L'expression régulière ne me renvoi pas le nom de la colonne elle me renvoi la requête SQL entièrement.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select regexp_replace('select count(0), max(id_cand) from rh_recr_candidat where id_soci = 3170', '([[:alpha:]])','\1', 1 ,1, 'i') REGEXPR_REPLACE from dual;

    Je ne voudrais extraire que le nom de la colonne ie id_cand

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    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
    Points : 1 128
    Points
    1 128
    Par défaut
    Résolu.

    Cette fois-ci contrairement à mon précédent post sur le même sujet, il faut utiliser regexp_substr et non regexp_replace.

    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', '\((\D+)\)', 1, 1, NULL, 1) reg_ from dual;

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 960
    Points : 4 389
    Points
    4 389
    Par défaut
    ou

    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', '.*\((\D+)\).*','\1', 1 ,1, 'i') re from dual;

+ 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, 18h03
  2. [VC++ 2005 Express] PB avec les API (SDK)
    Par dorian833 dans le forum MFC
    Réponses: 16
    Dernier message: 26/11/2005, 00h30
  3. Expression réguliére avec CHECK
    Par BRAUKRIS dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/09/2005, 18h38
  4. Expression régulière avec "|"
    Par YanK dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2005, 16h09
  5. [langage] Ptit Probleme expression réguliere avec perl
    Par Shoot Again dans le forum Langage
    Réponses: 3
    Dernier message: 02/12/2004, 13h44

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