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 :

Extraction de données avec REGEXP_SUBSTR


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 69
    Points
    69
    Par défaut Extraction de données avec REGEXP_SUBSTR
    Bonjour,

    J'ai un champ d'une table qui contient des données sous forme de chaines de caractères séparées par des virgules.
    Je souhaite récupérer chaque occurrence (séparée par des virgules) de ce champ.
    J'ai essayé en utilisant la fonction REGEXP_SUBSTR mais sans succès.
    Pouvez-vous m'aider SVP ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exemple 1 : "RemarquePas de disponibilité, Pas assez de place, Ils sont tous occupés " 
    Exemple 2 : "RemarquePréfère partir"
    NB: Le mot "Remarque" est à exclure de l'extraction. Donc je voudrais : "Pas de disponibilité, Pas assez de place, Ils sont tous occupés"
    et pour l'exemple 2 : "Préfère partir"

    Merci pour votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Djene Voir le message
    J'ai essayé en utilisant la fonction REGEXP_SUBSTR mais sans succès.
    Cette fonction n'existe pas en SQL....

    Postez dans le forum consacré au spécificité de votre SGBD !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    La fonction REGEXP_SUBSTR existe (ainsi que REGEXP_LIKE ou REGEXP_REPLACE ou encore REGEXP_COUNT)

    J'ai pu résoudre mon problème d'extraction de données justement en l'utilisant et en l'appliquant sur la colonne concernée:

    Solutions de mon exemple 1 - ma colonne contient les 3 informations suivantes que je souhaite récupérer une par une :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "RemarquePas de disponibilité, Pas assez de place, Ils sont tous occupés "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SUBSTR(REGEXP_SUBSTR('Nom de la colonne concernée' , '[^,]+' , 1,1 ) ,9)  =>    Extrait : "Pas de disponibilité"
    REGEXP_SUBSTR('Nom de la colonne concernée' , '[^,]+' , 1,2 )                    =>    Extrait : "Pas assez de place"
    REGEXP_SUBSTR('Nom de la colonne concernée' , '[^,]+' , 1,3 )                    =>    Extrait : "Ils sont tous occupés"
    Bonne journée

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Ce que voulais dire SQLPro c'est que REGEXP_SUBSTR existe dans certains SGBD (comme Oracle), mais n'est pas dans la norme SQL.
    Dans ce cas il vaut mieux poser votre question sur le forum dédié à votre base de données.

  5. #5
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    Je mets un peu de temps mais oui, Oui @SQLPro est très juste envers la norme et @Waldar a très bien résumé !

    C'est du Oracle, MySQL, je crois et d'autres... Il aurait été préférable de poster dans la Rubrique de votre SGBD

    Cordialement,
    Chtulus
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Djene Voir le message
    Bonjour,

    La fonction REGEXP_SUBSTR existe (ainsi que REGEXP_LIKE ou REGEXP_REPLACE ou encore REGEXP_COUNT)
    NON !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. [Tableaux] Extraction de données avec cURL
    Par mrsoyer dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2009, 14h16
  2. [XSLT] extraction de donnéés avec xsl
    Par bobkorn dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 21/04/2008, 11h25
  3. Réponses: 4
    Dernier message: 07/11/2007, 15h44
  4. MSSQL : extraction de données avec bcp
    Par khaledus dans le forum Outils
    Réponses: 1
    Dernier message: 24/08/2007, 14h58
  5. MSSQL : extraction de données avec bcp
    Par khaledus dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 24/08/2007, 14h58

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