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 :

Requete Sql update sur les valeurs


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2007
    Messages : 46
    Par défaut Requete Sql update sur les valeurs
    Salut à tous.
    Voila je cherche un moyen de faire une requete sql (sous mysql) pour faire la mise à jour de la valeur d'un champ dont je ne connais pas la valeur mais en y supprimant certains caractères et en remplaçant d'autres.

    En gros ce que je voudrais c'est modifier une chaine aléatoire du genre 98JKAIHN-HJJA-HHUAJ-HHAJ par 98JKAIHN_HJJA_HHUAJ_HHAJ Le tout dans une requete SQL.
    Apparemment il faut utiliser le PL/SQL mais j'arrive pas à trouver la synthaxe. Si quelqu'un a une idée je suis prenneur.

    Merci d'avance à tous.

  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
    Si je comprends bien ton exemple, tu veux remplacer le tiret - par l'underscore _ ?
    Il existe pour remplacer un caractère par un autre la fonction REPLACE.
    REPLACE(str,from_str,to_str) Retourne une chaîne de caractères str dont toutes les occurrences de la chaîne from_str sont remplacées par la chaîne to_str :
    mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
    -> 'WwWwWw.mysql.com'
    Cette fonction gère les caractères multi-octets.
    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 averti
    Inscrit en
    Août 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2007
    Messages : 46
    Par défaut
    Bonjour CinePhil
    Exactement j'aimerais (dans l'exemple) remplacer le tiret par l'underscore.
    Et ta requete elle marche. Le hic c'est qu'il faudrait que je le fasse dans une requete UPDATE et surtout je ne connaitrais pas la valeur de la chaine que je vais traiter.
    Donc en gros la chaine 'www.mysql.com' sera remplacée par la valeur du champ sur lequel les curseurs sont positionnés.

    D'où la complexité du truc. J'ai déjà pensé à jouer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE TABLE1 SET NAME = REPLACE(???,'-','_') WHERE ID IN(SELECT ID FROM TABLE1) AND ...

  4. #4
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE TABLE1
    SET NAME = REPLACE(NAME, '-', '_')
    WHERE...
    je ne connaitrais pas la valeur de la chaine que je vais traiter.
    Donc en gros la chaine 'www.mysql.com' sera remplacée par la valeur du champ sur lequel les curseurs sont positionnés.
    Euh... moi pas comprendre !
    Quel "champ", sachant qu'une table est composée de lignes et de colonnes ?
    Quel "curseur" ?
    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 !

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Août 2007
    Messages : 46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE TABLE1
    SET NAME = REPLACE(NAME, '-', '_')
    WHERE...
    c'est exactement ce qu'il me fallait et ca marche.
    encore merci.

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

Discussions similaires

  1. Requete SQL qui sur les jours de l'année
    Par dexter2 dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 12/04/2012, 12h52
  2. [MySQL] Requetes SQL UPDATE sur deux table.
    Par makamine dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/05/2011, 00h52
  3. Requete SQL calcule sur les colonnes
    Par rose-rose dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 19/05/2011, 09h47
  4. requete SQL basée sur une valeur d'un edit
    Par imeneimene dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/06/2009, 08h54
  5. requete SQL pour concatener les valeurs d'une colonne
    Par moabomotal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/08/2007, 11h59

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