Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 문자열에서 두 배 이상의 공백을 제거하는 방법은 무엇입니까?

<시간/>

문자열에서 두 배 이상의 공백을 제거하는 함수를 만들 수 있습니다. 구문은 다음과 같습니다.

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)