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

Langage SQL Discussion :

REGEXP pour détecter chiffres entre parenthèses


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut REGEXP pour détecter chiffres entre parenthèses
    Bonjour,

    Voilà, j'ai des entrées du type :
    "machin truc (13100) hugh"
    "bidule chouette (bonjour) 123456"
    "lalala (98)"

    Je voudrais ne sélectionner que les entrées ayant des chiffres entre les parenthèses.
    J'ai donc tenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM table WHERE champ REGEXP "([[:digit:]])"
    Le problème c'est qu'il ne veut rien savoir et qu'il me retourne tous les champs parce qu'il croit que je veux tous les champs où il y a du digit.

    Comment feriez-vous ?

    Merci, cordialement,
    Nicolas

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Citation Envoyé par noyau Voir le message
    Comment feriez-vous ?
    J'échapperais les parenthèses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM TABLE WHERE champ REGEXP "\([[:digit:]]\)"

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut
    Hélas ça ne marche pas non plus, à mon avis il ne comprend pas l'échappement

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    Il faudrait peut-être prévoir qu'il y ait plusieurs chiffres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM TABLE WHERE champ REGEXP "\([[:digit:]]+\)"

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut
    Non ça ne change rien, il me liste aussi les entrées qui ont des lettres entre les parenthèses

    Et ça ne m'affiche plus rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM TABLE WHERE champ REGEXP "\([[:digit:]]+\)" AND champ NOT REGEXP "\([[:alpha:]]+\)"

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut
    Trouvé !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT champ FROM TABLE WHERE champ NOT REGEXP "[(][[:alpha:]]+[)]" AND champ REGEXP "[(][[:digit:]]+[)]"
    Et ça marche exactement comme voulu
    Merci de m'avoir aidé en tout cas

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 135
    Par défaut
    il faut échapper aussi les échapements du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT champ FROM TABLE WHERE champ REGEXP "\\([[:digit:]]+\\)"

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

Discussions similaires

  1. [XL-2010] Chiffres entre parenthèses
    Par Aurel51 dans le forum Excel
    Réponses: 4
    Dernier message: 14/11/2013, 18h09
  2. regexp pour détecter la présence de caractrères dans une cellule
    Par bastien dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2013, 12h04
  3. RegExp pour obtenir String entre string et charactères
    Par pjmorce dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/06/2011, 15h15
  4. RegExp testant la présence de chiffres entre parenthèses
    Par Christophe_ dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 16/10/2009, 20h38
  5. [RegEx] Regex trouvé des chiffres entre parenthèse
    Par narayana_seb dans le forum Langage
    Réponses: 2
    Dernier message: 15/11/2007, 19h51

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