MySQL: comment supprimer deux ou plusieurs espaces d'une chaîne?
Je ne pouvais pas trouver cette question pour MySQL, il est donc ici:
J'ai besoin de couper tous les doubles ou plusieurs espaces dans une chaîne de caractères à 1 seul espace.
Par exemple:
"L' Coup Brown Fox"
devrait être :
"The Quick Brown Fox"
La fonction replace(str, " ", " ") seulement supprime les espaces de double, mais les feuilles de multiples espaces quand il y a plus...
source d'informationauteur Dylan
Vous devez vous connecter pour publier un commentaire.
Les plus brefs et, étonnamment, la solution la plus rapide:
Cette solution n'est pas très élégant, mais puisque vous n'avez pas d'autres option:
Je sais que cette question est taggés avec mysql, mais si vous avez la chance d'utiliser MariaDB vous pouvez le faire plus facilement:
Après recherche, je finis par écrire une fonction que j'ai.e
drop, s'il existe trim_spaces;
UTILISATION:
set @str='------apple--------banana-------------orange---' ;
select trim_spaces( @str,'-')
de sortie:
apple-banana-orange-
paramètre
trimChar
à la fonction pourrait par n'importe quel caractère qui se répète et que vous souhaitez supprimer .Remarque il gardera premier caractère de répéter ensemble
cheers 🙂
Si vous utilisez php....
Ce qui est légèrement solution générale: à partir de
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=56195&whichpage=1
Si la chaîne que vous souhaitez convertir composé uniquement de lettres et de multiples nombre de places [A-Za-z ]* alors la fonction suivante va travailler. J'ai trouvé un modèle quand ces chaînes sont converties à l'hex. Basé sur que ma solution suivante. Pas très élégante, mais elle ne nécessite pas de procédures.