문자열에서 두 배 이상의 공백을 제거하는 함수를 만들 수 있습니다. 구문은 다음과 같습니다.
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)