Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2007, 17h29   #1
Invité régulier
 
Inscription : janvier 2005
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 6
Points : 6
Points : 6
Par défaut modif telephone 01 ## ## -> +331 ## ##

Bonjour,

Je cherche un exemple de code sql me permettant de remplacer tous mes téléphones en '01 ## ## ## ##' par du '+331 ## ## ## ##'

Merci de vos conseils
yerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 18h01   #2
Membre actif
 
Avatar de Lawyer666
 
Homme Nicolas
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 141
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 30
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 141
Points : 166
Points : 166
Envoyer un message via MSN à Lawyer666
Qqch de ce style devrait fonctionner :
Code :
UPDATE ma_table SET telephone = CONCAT('+331' , SUBSTRING(telephone,3))
__________________
"Le problème du monde, c'est que les imbéciles sont présomptueux et les gens intelligents bourrés de doutes" B. Russell
Lawyer666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 18h31   #3
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
ca marche aussi


Code :
UPDATE ma_table SET telephone =REPLACE(telephone,'01','+331')
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 18h36   #4
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Citation:
Envoyé par overider Voir le message
ca marche aussi


Code :
UPDATE ma_table SET telephone =REPLACE(telephone,'01','+331')
Non, car si il y a un n° comme "01 32 26 01 05", ça donnera "+331 32 26 +331 05" avec ton code.
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 18h39   #5
Membre actif
 
Avatar de Lawyer666
 
Homme Nicolas
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 141
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Âge : 30
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2007
Messages : 141
Points : 166
Points : 166
Envoyer un message via MSN à Lawyer666
Citation:
Envoyé par overider Voir le message
ca marche aussi


Code :
UPDATE ma_table SET telephone =REPLACE(telephone,'01','+331')
Oui mais en admettant que le token '01' apparaisse plusieurs fois dans un numero de téléphone, ta méthode ne risque-t-elle pas de remplacer toutes les occurences trouvées et non uniquement la 1ère ?

edit : grillaid
__________________
"Le problème du monde, c'est que les imbéciles sont présomptueux et les gens intelligents bourrés de doutes" B. Russell
Lawyer666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2007, 21h02   #6
Invité régulier
 
Inscription : janvier 2005
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 6
Points : 6
Points : 6
Merci pour vos réponses.

Avant de vous lire, j'avais "bricolé"

update `table`
set `telephone` = concat('+33 ',right(`telephone`,13))
where length(`telephone`) = 14 and left(`telephone`,1) = '0'

si le numéro commence par 0, ce dernier est remplacé par +33

replace m'intéresse, je vais chercher un truc du genre

concat (replace( regexp '^0' , '+33'), right(`telephone`,13))
yerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2007, 13h17   #7
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
Effectivement j'avais pas réfléchit à cette possibilité. En rajoutant un expressions régulières cela devrait amrcher.

Code :
UPDATE ma_table SET telephone =REPLACE(telephone,'01','+331')
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h59.


 
 
 
 
Partenaires

Hébergement Web