collapseSpaces

Besoin d’éliminer les espaces multiples pour les remplacer par un seul?  J’ai ce qu’il vous faut!

 

SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES';
DROP FUNCTION IF EXISTS collapseSpaces;

DELIMITER //
CREATE FUNCTION collapseSpaces ( stringparam VARBINARY(255))
RETURNS VARBINARY(255)
DETERMINISTIC
LANGUAGE SQL
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Returns a string with all spaces replaced/merged by/into a single space character'

BEGIN
DECLARE newString VARBINARY(255);
DECLARE hasChanged TINYINT UNSIGNED;
DECLARE oldLength TINYINT UNSIGNED;

SET hasChanged = 1;
SET newString = stringparam;
SET oldLength = CHAR_LENGTH(stringparam);

WHILE hasChanged DO
SET newString = REPLACE(newString, ' ', ' ');
SET hasChanged = (oldLength != CHAR_LENGTH(newString));
SET oldLength = CHAR_LENGTH(newString);
END WHILE;

RETURN newString;
END
//

DELIMITER ;
SET SQL_MODE=@OLD_SQL_MODE;

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.