2

How can I replace multiple spaces to a single space in a mysql string.

Meet
  • 21
  • 2

2 Answers2

2
DELIMITER $$

CREATE PROCEDURE I_hate_duplicate_spaces
BEGIN
  DECLARE rows_affected INTEGER;

  REPEAT
    UPDATE table1 SET afield = REPLACE(afield,'  ',' ');
    SELECT ROW_COUNT() INTO rows_affected;
  UNTIL rows_affected = 0 END REPEAT;
END $$

DELIMITER ;

Now start the stored procedure:

CALL I_hate_duplicate_spaces;

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html

Johan
  • 74,508
  • 24
  • 191
  • 319
1

Essentially you want to do a regular expression replacement in MySQL something like PHP's preg_replace('/ +/', ' ', $sString) - unfortunately this isn't built into MySQL so you'd need a user-defined function ... which led me to this: How to do a regular expression replace in MySQL?

Hope that helps...

Community
  • 1
  • 1
CD001
  • 8,332
  • 3
  • 24
  • 28