如何在 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)

相关文章