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

Requêtes PostgreSQL Discussion :

[PostgreSQL] Sélection d'une sous-chaîne de caractères


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut [PostgreSQL] Sélection d'une sous-chaîne de caractères
    Bonjour,

    je cherche à "extraire" des parties bien précises de chaînes de caractères, mais je sèche...

    Voici mon cas :

    - matable :
    champ_1 (varchar)
    Arctia caja </i>(Linnaeus, 1758)
    Helops rossii </i>Germar, 1817
    Otus scops </i>(Linnaeus, 1758)
    Falco subbuteo </i>Linnaeus, 1758
    etc
    - ce que je cherche à faire :
    pour chaque ligne, sélectionner uniquement les 2 premiers mots.

    Après avoir chercher dans la doc, j'ai voulu essayer avec split_part, en prenant ' </i>' comme "séparateur", mais je n'y suis pas arrivée...

    Je suis preneuse si vous connaissez une solution !

    merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Qu'as-tu essayé? Parce que récupérer la partie avant le </i> ne pose pas de pb particulier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    => SELECT split_part('Arctia caja </i>(Linnaeus, 1758)', '</i>', 1);
      split_part  
    --------------
     Arctia caja 
    (1 row)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Bonjour,

    Bon j'avais mal essayé (du style sans mettre le SELECT... !)

    Mais merci beaucoup en tout cas, j'ai vu qu'en mettant le nom du champ ça fonctionnait aussi très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT split_part (champ_1, '</i>', 1) as champ_1
    FROM matable
    ça renvoie la partie que je veux pour toutes les lignes de ma table !

    Merci encore.

    Bonne journée

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Finalement, encore une interrogation :

    est-ce possible de ne sélectionner que les x 1ers mots d'une chaîne de caractères ? (ici les deux premiers)

    Merci.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    est-ce possible de ne sélectionner que les x 1ers mots d'une chaîne de caractères ? (ici les deux premiers)
    Avec substring() et une expression régulière adéquate, oui:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    => select substring('mot1 mot2 autre chose', E'^\\w+\\s+\\w+');
     substring 
    -----------
     mot1 mot2
    (1 row)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Super !

    Bon, j'ai encore beaucoup de choses à apprendre.

    Et du coup j'ai fait quelques recherches dans la doc PostgreSQL et sur d'autres sites pour "décrypter" cette expression régulière/rationnelle, l'outil est assez puissant !

    Merci pour l'aide.

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

Discussions similaires

  1. [XL-2010] Recherche d'une sous-chaîne de caractères dans une cellule
    Par StephThai dans le forum Excel
    Réponses: 7
    Dernier message: 13/01/2014, 04h21
  2. Extraire une sous chaîne de caractères
    Par hetlar dans le forum Général Java
    Réponses: 2
    Dernier message: 08/08/2013, 01h45
  3. Recherche une sous chaîne de caractères dans un Vector
    Par brino1987 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/06/2013, 14h31
  4. Modifier une sous chaîne de caractères
    Par PaulineGjm dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/12/2011, 23h55
  5. Réponses: 8
    Dernier message: 23/06/2011, 17h51

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