如何在 MySQL 中删除字符串中的两个或更多空格?
mysqlmysqli database
您可以创建一个函数来删除字符串中的两个或更多空格。语法如下:
DELIMITER // create function yourFunctionName(paramter1,...N) returns datatype; begin //your statement. end; // DELIMITER ;
创建函数的方法如下:
mysql> delimiter // mysql> create function function_DeleteSpaces(value varchar(200)) returns varchar(200) -> begin -> set value = trim(value); -> while instr(value, ' ') > 0 do -> set value = replace(value, ' ', ' '); -> end while; -> return value; -> END; -> // Query OK, 0 rows affected (0.20 sec) mysql> delimiter ;
现在您可以使用 select 语句调用该函数。语法如下:
SELECT yourFunctionName();
使用 select 语句调用上述函数。上述函数从字符串中删除空格:
mysql> select function_DeleteSpaces(' John Smith ');
输出结果如下:
+--------------------------------------------------+ | function_DeleteSpaces(' John Smith ') | +--------------------------------------------------+ | John Smith | +--------------------------------------------------+ 1 row in set (0.02 sec)
上述函数删除了多个空格。让我们看另一个示例,该示例在函数的参数中有一个新值:
mysql> select function_DeleteSpaces(' John Smith 123 ');
输出结果如下:
+---------------------------------------------------------+ | function_DeleteSpaces(' John Smith 123 ') | +---------------------------------------------------------+ | John Smith 123 | +---------------------------------------------------------+ 1 row in set (0.00 sec)