poilusduboux
Messages postés83Date d'inscriptionjeudi 19 mai 2005StatutMembreDernière intervention17 juin 2011
-
30 mars 2007 à 15:41
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 2007
-
30 mars 2007 à 19:23
Bonjour
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Je viens d’importer une table dans une base SQL serveur 2005 depuis un fichier Excel :
Jusque la, pas de problème.
Il y a environ 500 lignes dans ma table avec des N° de téléphone sous cette forme.
0-0367895426
Mais moi pour une question de lisibilité j’aimerais pouvoir faire une requête pour modifier
Tout mes N° en une seule fois pour qu’ils aient la forme suivante : 0-036 789 54 26
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 30 mars 2007 à 18:55
Salut
Ma première idée serait de demander à Excel d'appliquer un format de cellule adéquat pour ce champ, plutôt que de modifier la DB.
En faisant l'essai pour te proposer qqchose, je m'aperçois que le trait d'union est gènant (car il transforme le chiffre en chaine).
Si ton numéro était un simple numéro comme 367895426, il suffirait d'appliquer le format personnalisé suivant :
0"-"000" "000" "00" "00 (où les doubles quotes " servent à délimiter les espaces et le tiret, pas les chiffres)
Sinon, pour ta requète ET à condition que 'monChamp' soit bien de type texte :
Update maTable
Set monChamp = SubString(monChamp, 1, 1) + '-' +
SubString(monChamp, 3, 3) + ' ' +
SubString(monChamp, 6, 3) + ' ' +
SubString(monChamp, 9, 2) + ' ' +
SubString(monChamp, 11, 2)
Where monChamp Like '[0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)