如何从MySQL中的字符串中删除双精度或更多空格?

您可以创建一个函数来删除字符串中的两个或多个空格。语法如下:

DELIMITER //
create function yourFunctionName(paramter1,...N) returns datatype;
begin
//您的声明。
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;
   -> //
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)