MySQL はカンマ区切りの文字列を一時テーブルに分割できますか?
カンマ区切りの文字列を一時テーブルに分割することは、データ操作の一般的なタスクです。 MySQL にはこのタスク用の組み込み関数がありませんが、代替方法を使用して実現できます。
1 つのアプローチには、文字列分割を実装するユーザー定義関数を作成することが含まれます。提供された回答の SPLIT_STR 関数は、この目的に使用できます。区切り文字と位置に基づいて部分文字列を繰り返し抽出し、一致する文字列が見つからない場合は空の文字列を返します。
分割文字列を繰り返して一時テーブルにデータを追加するには、ループを使用できます。 FOR ループを使用して SPLIT_STR 関数を段階的に呼び出し、その結果を INSERT クエリを使用して一時テーブルに挿入できます。
ただし、このアプローチにはカスタム コーディングと MySQL ループの知識が必要であることに注意することが重要です。構文。別の解決策は、PHP や Python などのスクリプト言語を使用して文字列の分割を実行し、その結果を一時テーブルに挿入することです。
これは、分割された文字列を反復して挿入する MySQL ループのコードです。一時テーブルへの値:
DELIMITER $$ CREATE PROCEDURE ABC(fullstr) BEGIN DECLARE a INT Default 0 ; DECLARE str VARCHAR(255); simple_loop: LOOP SET a=a+1; SET str=SPLIT_STR(fullstr,"|",a); IF str='' THEN LEAVE simple_loop; END IF; #Do Inserts into temp table here with str going into the row insert into my_temp_table values (str); END LOOP simple_loop; END $$
以上がMySQL はカンマ区切りの文字列を一時テーブルに分割できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。