MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで文字列から2つ以上のスペースを削除するにはどうすればよいですか?


文字列から2つ以上のスペースを削除する関数を作成できます。構文は次のとおりです。

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)

  1. MySQLで文字列から日付を抽出する方法は?

    MySQLの文字列から日付を抽出するには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Title text    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John has got join

  2. MySQLの別のフィールドからフィールドの値を導出する方法は?

    このために、ユーザー定義変数の概念を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1868      (      Value int      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1868 values(10); Query OK, 1 row affected (0