158 votes

MySQL - comment faire pour supprimer l'espace blanc dans un champ mysql

J'ai une table avec deux champs (pays et des codes iso)

Table1

   field1 - eg 'Afghanistan' (without quotes)
   field2 - eg 'AF'(without quotes)

en quelques lignes le deuxième champ semblent avoir un espace avant ou/et après ce qui est d'effectuer des requêtes.

Table1

   field1 - eg 'Afghanistan' (without quotes) 
   field2 - eg ' AF' (without quotes but with that space in front)

est-il un moyen (SQL) pour passer à travers la table et trouver/remplacer les espaces dans champ2?

324voto

cwallenpoole Points 34940

Vous êtes à la recherche pour la GARNITURE.

UPDATE FOO set FIELD2 = TRIM(FIELD2);

48voto

Chris Sim Points 369

D'une manière générale, la réponse que j'ai composé à partir de vos réponses et d'autres liens et il a travaillé pour moi et je l'ai écrit dans un commentaire:

 UPDATE FOO set FIELD2 = TRIM(Replace(Replace(Replace(FIELD2,'\t',''),'\n',''),'\r',''));

etc.

Parce que trim() permet de ne pas supprimer tous les espaces en blanc, il est donc préférable de remplacer tous les espaces en blanc, u veux et de le découper.

J'espère que je pourrais vous aider avec le partage de ma réponse :)

18voto

mulya Points 320

Juste pour être clair, TRIM par défaut seulement supprimer les espaces (pas tous les espacements). Voici la doc: http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_trim

15voto

amitchhajer Points 4087

trim ne fonctionne pas en faisant une requête select

Cela fonctionne

select replace(name , ' ','') from test;

Alors que ce n'est pas

select trim(name) from test;

4voto

luxknight_007 Points 41

Cette déclaration sera supprimer et mettre à jour le contenu du champ de votre base de données

Pour supprimer des espaces dans le côté gauche de la valeur du champ

UPDATE table SET champ1 = LTRIM(champ1);

ex. Mise à JOUR de l'ENSEMBLE des membres firstName = LTRIM(prenom);

Pour supprimer les espaces à droite de la valeur du champ

Mettre à JOUR le tableau SETfield1 = RTRIM(champ1);

ex. Mise à JOUR de l'ENSEMBLE des membres firstName = RTRIM(prenom);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X