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 MySQL Discussion :

Extraire les mots d'un enregistrement


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2017
    Messages : 6
    Par défaut Extraire les mots d'un enregistrement
    Bonjour,
    Je voudrais savoir comment on fait pour extraires les mots d'un enregistrement:

    |kk aaa ccc qqq lllloop|

    resultat
    kk
    aaa
    ccc
    qqq
    llloop

    Je sais qui faut faire un split, je suis sous phpMyAdmin, je dois passer par une procedure?

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    En SQL, ça va être compliqué et peu performant, surtout sous MySQL.

    Si vous avez relativement peu de lignes à extraire pour en séparer les mots, faites ça par un programme externe qui sera plus performant.

    Quel est le but de la manoeuvre ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 917
    Par défaut
    Salut à tous.

    Voici un exemple en MySql pour extraire des chaînes de caractères :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    (
      `idProduit`       integer unsigned NOT NULL AUTO_INCREMENT primary key,
      `produit`         varchar(255)     NOT NULL,
      `caracteristique` varchar(255)     NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    INSERT INTO `test` (`idProduit`,`produit`,`caracteristique`) VALUES
      (1, 'livre A', 'Hauteur cm >> 30 // Largeur cm >> 21 // Poids kg >> 3 // Auteur >> Fabrice Poulain // ISBN >> 9782914817478 // Pages >> 480 // Parution >> 2010-04-17 // Couverture >> Rigide // Editeur >> Rossolis'),
      (2, 'livre B', 'Hauteur cm >> 20 // Largeur cm >> 20 // Poids kg >> 1 // Auteur >> Fabrice Dupont // ISBN >> 9782914817452 // Pages >> 124 // Parution >> 2016-05-25 // Couverture >> Souple // Editeur >> Ulmer'),
      (3, 'livre C', 'Hauteur cm >> 15 // Largeur cm >> 10 // Poids kg >> 2 // Auteur >> Fabrice Acotede // ISBN >> 9782914817436 // Pages >> 248 // Parution >> 2014-12-02 // Couverture >> Souple // Editeur >> Biotope')
    --------------
     
    --------------
    select * from test
    --------------
     
    +-----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | idProduit | produit | caracteristique                                                                                                                                                                                      |
    +-----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    |         1 | livre A | Hauteur cm >> 30 // Largeur cm >> 21 // Poids kg >> 3 // Auteur >> Fabrice Poulain // ISBN >> 9782914817478 // Pages >> 480 // Parution >> 2010-04-17 // Couverture >> Rigide // Editeur >> Rossolis |
    |         2 | livre B | Hauteur cm >> 20 // Largeur cm >> 20 // Poids kg >> 1 // Auteur >> Fabrice Dupont // ISBN >> 9782914817452 // Pages >> 124 // Parution >> 2016-05-25 // Couverture >> Souple // Editeur >> Ulmer     |
    |         3 | livre C | Hauteur cm >> 15 // Largeur cm >> 10 // Poids kg >> 2 // Auteur >> Fabrice Acotede // ISBN >> 9782914817436 // Pages >> 248 // Parution >> 2014-12-02 // Couverture >> Souple // Editeur >> Biotope  |
    +-----------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    --------------
    select idProduit,
           produit,
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',1),' >> ',-1) as 'Hauteur cm',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',2),' >> ',-1) as 'Largeur cm',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',3),' >> ',-1) as 'Poids kg',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',4),' >> ',-1) as 'Auteur',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',5),' >> ',-1) as 'ISBN',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',6),' >> ',-1) as 'Pages',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',7),' >> ',-1) as 'Parution',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',8),' >> ',-1) as 'Couverture',
           SUBSTRING_INDEX(SUBSTRING_INDEX(caracteristique,' // ',9),' >> ',-1) as 'Editeur'
    from test
    --------------
     
    +-----------+---------+------------+------------+----------+-----------------+---------------+-------+------------+------------+----------+
    | idProduit | produit | Hauteur cm | Largeur cm | Poids kg | Auteur          | ISBN          | Pages | Parution   | Couverture | Editeur  |
    +-----------+---------+------------+------------+----------+-----------------+---------------+-------+------------+------------+----------+
    |         1 | livre A | 30         | 21         | 3        | Fabrice Poulain | 9782914817478 | 480   | 2010-04-17 | Rigide     | Rossolis |
    |         2 | livre B | 20         | 20         | 1        | Fabrice Dupont  | 9782914817452 | 124   | 2016-05-25 | Souple     | Ulmer    |
    |         3 | livre C | 15         | 10         | 2        | Fabrice Acotede | 9782914817436 | 248   | 2014-12-02 | Souple     | Biotope  |
    +-----------+---------+------------+------------+----------+-----------------+---------------+-------+------------+------------+----------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
    Appuyez sur une touche pour continuer...
    Il vous faut un séparateur. Dans cet exemple, vous avez en premier le séparateur "//" et ensuite l'autre séparateur ">>".
    Le paramètre numérique de la fonction "SUBSTRING_INDEX()" indique le rang de ce séparateur dans votre chaîne de caractères.
    Quand c'est >0 cela se fait à partir du début de la chaîne tandis que quand c'est <0 cela se fait à partir de la fin de votre chaîne.

    @+

  4. #4
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2017
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2017
    Messages : 6
    Par défaut
    j ai effectuer la tache par un programme externe

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

Discussions similaires

  1. Extraire les mots d'une phrase
    Par SilkyRoad dans le forum Contribuez
    Réponses: 1
    Dernier message: 24/08/2007, 17h06
  2. Extraire les mots d'un fichier texte
    Par krokmitaine dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/06/2007, 10h38
  3. Extraire les mots clés
    Par amin1425 dans le forum ASP
    Réponses: 5
    Dernier message: 08/03/2007, 14h19
  4. Extraire les mots d'une chaine
    Par hsouna dans le forum C++
    Réponses: 2
    Dernier message: 26/06/2006, 17h12
  5. Extraire les mots d'un texte
    Par krachik dans le forum C
    Réponses: 9
    Dernier message: 11/05/2006, 22h16

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