OVH Cloud OVH Cloud

[mysql] formater un tel

5 réponses
Avatar
Roumegou Eric
Bjr
je cherche (et ne trouve pas) comment transcrire une chaine de type
678893254 en 06 78 89 32 54 en une instruction SQL et cela pour Mysql.

j'ai perdu le formatage suite à un import excel et je voudrais lancer
un update sur la base

Merci de vos réponses

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)

5 réponses

Avatar
Gilles TOURREAU
Il se trouve que Roumegou Eric a formulé :
Bjr
je cherche (et ne trouve pas) comment transcrire une chaine de type
678893254 en 06 78 89 32 54 en une instruction SQL et cela pour Mysql.

j'ai perdu le formatage suite à un import excel et je voudrais lancer un
update sur la base

Merci de vos réponses



Je dirais :

UPDATE LaTable SET Tel = '0' + LEFT(Tel, 1) + ' ' + MID(Tel, 2, 2) + '
' + MID(Tel, 4, 2) + MID(Tel, 6, 2) + MID(Tel, 8, 2)

--
Gilles TOURREAU
Responsable informatique


Société P.O.S
Spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Roumegou Eric
Gilles TOURREAU a couché sur son écran :
Il se trouve que Roumegou Eric a formulé :
Bjr
je cherche (et ne trouve pas) comment transcrire une chaine de type
678893254 en 06 78 89 32 54 en une instruction SQL et cela pour Mysql.

j'ai perdu le formatage suite à un import excel et je voudrais lancer un
update sur la base

Merci de vos réponses



Je dirais :

UPDATE LaTable SET Tel = '0' + LEFT(Tel, 1) + ' ' + MID(Tel, 2, 2) + ' ' +
MID(Tel, 4, 2) + MID(Tel, 6, 2) + MID(Tel, 8, 2)



oh t'es dur; c'est justement ce que je voulais éviter.

y'a pas un format(tel,'00 00 00 00 00') ? (mais pas format car c'est
equiv au round)

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
Roumegou Eric
Le 05/09/2006, Roumegou Eric a supposé :
Gilles TOURREAU a couché sur son écran :
Il se trouve que Roumegou Eric a formulé :
Bjr
je cherche (et ne trouve pas) comment transcrire une chaine de type
678893254 en 06 78 89 32 54 en une instruction SQL et cela pour Mysql.

j'ai perdu le formatage suite à un import excel et je voudrais lancer un
update sur la base

Merci de vos réponses



Je dirais :

UPDATE LaTable SET Tel = '0' + LEFT(Tel, 1) + ' ' + MID(Tel, 2, 2) + ' ' +
MID(Tel, 4, 2) + MID(Tel, 6, 2) + MID(Tel, 8, 2)



oh t'es dur; c'est justement ce que je voulais éviter.

y'a pas un format(tel,'00 00 00 00 00') ? (mais pas format car c'est equiv au
round)


bon allez on a fait comme tu dis.
Merci de ton aide

update people set
ppl_tel_port=concat(0,mid(ppl_tel_port,1,1),'.',mid(ppl_tel_port,2,2),'.',mid(ppl_tel_port,4,2),'.',mid(ppl_tel_port,6,2),'.',mid(ppl_tel_port,8,2))
where and mid(ppl_tel_port,1,1)='6'

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
Romain PETIT
Roumegou Eric a pensé très fort :

j'ai perdu le formatage suite à un import excel et je voudrais lancer un
update sur la base



Il ne vaudrait pas mieux conserver les données sous cette forme et
formatter les données quand tu dois les afficher/utiliser ?

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Roumegou Eric
Romain PETIT avait énoncé :
Roumegou Eric a pensé très fort :

j'ai perdu le formatage suite à un import excel et je voudrais lancer un
update sur la base



Il ne vaudrait pas mieux conserver les données sous cette forme et formatter
les données quand tu dois les afficher/utiliser ?

A+



Oui pas faux, mais ma base est déja faite et les tel son stockés sur un
varchar de 14 de long.
Ils sont juste utilisés pour affichage (ecran, page web ou édition)
mais c'est vrai que si j'avais à gérer du sms, je devrais peut être
manipuler cette donnée.

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)