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 Procédural MySQL Discussion :

explode en pure sql


Sujet :

SQL Procédural MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 7
    Points
    7
    Par défaut explode en pure sql
    bonjour,
    je voudrais faire l'equivalent de la fonction php explode mais directement en sql. En effet je dois extraire chaque mot d'un champs text pour les reinserer apres dans une autre table. Le pb c'est que j'utilise la version 4 de mysql (donc pas de procedures stockes - trop facile sinon et passer par php va m'obliger a faire une requete insert par mot ce qui risque de prendre pas mal de temps. J'aimerai donc savoir si c'est possible en pure sql.

    c'est a dire passer d'un string style :
    text: 'le petit chaperon rouge est en retard'

    aux resultats du select sous la forme
    'le' puis
    'petit' puis
    'chaperon' ect ...

    avoir juste le premier element est facile
    SELECT LEFT(text,LOCATE(' ', text)) from t_test

    mais comment les avoir tous avec la meme fonction?

    Merci d'avance a tous

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	$sql = "select concat('(0,\'', replace('le petit chaperon rouge est en retard', ' ', '\'),(0,\''), '\')') as chaine";
    	$result = mysql_query($sql);
    	$item = mysql_fetch_object($result);
    	$sql = 'insert into laTable values ' . $item -> chaine;
    	mysql_query($sql);
    Ce code considère que la table est composée de 2 champs :
    id autoincrémenté
    char

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup!!
    c'est pas exactement ce que je voulais faire au depart mais en fait ca m'a beaucoup aide.
    Merci encore

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

Discussions similaires

  1. Transaction sur Requêtes Entities et Requêtes SQL pures
    Par Arnard dans le forum Accès aux données
    Réponses: 1
    Dernier message: 20/04/2009, 14h38
  2. Requête en SQL pure sous Access2002
    Par Chtulus dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/04/2008, 14h00
  3. PL/SQL - Equivalent explode() php
    Par Anasha dans le forum PL/SQL
    Réponses: 4
    Dernier message: 23/11/2007, 15h04
  4. [SQL] Explode pour cases à cocher
    Par philippef dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/08/2007, 17h12
  5. SQL pure : Condition dans une table enfant...
    Par l_apotre dans le forum Requêtes
    Réponses: 7
    Dernier message: 27/11/2005, 19h55

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