Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để loại bỏ các dấu cách kép hoặc nhiều hơn khỏi một chuỗi trong MySQL?

Bạn có thể tạo một hàm để loại bỏ các khoảng trắng đôi hoặc nhiều hơn khỏi một chuỗi. Cú pháp như sau:

DELIMITER //
create function yourFunctionName(paramter1,...N) returns datatype;
begin
//your statement.
end;
//
DELIMITER ;

Dưới đây là cách tạo một hàm:

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 ;

Bây giờ bạn có thể gọi hàm bằng câu lệnh select. Cú pháp như sau:

SELECT yourFunctionName();

Gọi hàm trên bằng câu lệnh select. Hàm trên xóa các khoảng trắng khỏi chuỗi:

mysql> select function_DeleteSpaces(' John Smith ');

Sau đây là kết quả:

+--------------------------------------------------+
| function_DeleteSpaces(' John Smith ')            |
+--------------------------------------------------+
| John Smith                                       |
+--------------------------------------------------+
1 row in set (0.02 sec)

Hàm trên loại bỏ nhiều hơn một khoảng trắng. Hãy để chúng tôi xem một ví dụ khác với giá trị mới trong tham số của hàm:

mysql> select function_DeleteSpaces(' John Smith 123 ');

Sau đây là kết quả:

+---------------------------------------------------------+
| function_DeleteSpaces(' John Smith 123 ')               |
+---------------------------------------------------------+
| John Smith 123                                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)