文字列を分割し、MySQLプロシージャの値をループしますか?
文字列を分割してMySQLプロシージャのすべての値をループするために、REPLACE()関数を使用する必要はありません。理解するには、最初にストアドプロシージャを作成し、次にテーブルを作成して、いくつかの値を使用してストアドプロシージャを呼び出します。値がテーブルに挿入されます。
ストアドプロシージャを作成するためのクエリは次のとおりです。
mysql> DELIMITER // mysql> CREATE PROCEDURE SP_SplitString(Value longtext) -> BEGIN -> DECLARE front TEXT DEFAULT NULL; -> DECLARE frontlen INT DEFAULT NULL; -> DECLARE TempValue TEXT DEFAULT NULL; -> iterator: -> LOOP -> IF LENGTH(TRIM(Value)) = 0 OR Value IS NULL THEN -> LEAVE iterator; -> END IF; -> SET front = SUBSTRING_INDEX(Value,',',1); -> SET frontlen = LENGTH(front); -> SET TempValue = TRIM(front); -> INSERT INTO store (allValues) VALUES (TempValue); -> SET Value = INSERT(Value,1,frontlen + 1,''); -> END LOOP; -> END // Query OK, 0 rows affected (0.22 sec) mysql> DELIMITER ;
次に、ストアドプロシージャの値を格納するテーブルを作成します。テーブルを作成するためのクエリ。
mysql> CREATE TABLE store( -> Id int NOT NULL AUTO_INCREMENT, -> allValues varchar(30), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.63 sec)
テーブルのすべてのレコードを表示します。クエリは次のとおりです。
mysql> select *from store; Empty set (0.00 sec)
最初は、テーブルにレコードがありません。 CALLコマンドを使用してストアドプロシージャを呼び出しましょう。クエリは次のとおりです。
mysql> call SP_SplitString('Hi,Hello,Good Morning,Bye'); Query OK, 1 row affected (1.02 sec)
上記のストアドプロシージャを呼び出した後、テーブルレコードをもう一度確認しましょう。テーブルのすべてのレコードを表示するクエリは次のとおりです。
mysql> select *from store;
出力は次のとおりです。
+----+--------------+ | Id | allValues | +----+--------------+ | 1 | Hi | | 2 | Hello | | 3 | Good Morning | | 4 | Bye | +----+--------------+ 4 rows in set (0.00 sec)
-
MySQLリスト文字列の値を選択しますか?
これには、FIND_IN_SET()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo81 -> ( -> id int not null auto_increment primary key, -> username varchar(200) -> ); Query OK, 0 rows affected (1.44 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql>
-
文字列を分割して結合するC#プログラム
C#で文字列を分割して結合するには、split()メソッドとjoin()メソッドを使用します。以下が私たちの文字列であるとしましょう- string str = "This is our Demo String"; 文字列を分割するには、split()メソッド-を使用します var arr = str.Split(' '); ここで結合するには、join()メソッドを使用して、文字列の残りの部分を結合します。ここでは、skip()メソッドを使用して文字列の一部をスキップしました- string rest = string.Join(" "