ホームページ >データベース >mysql チュートリアル >MySQL はカンマ区切りの文字列を一時テーブルに分割できますか?

MySQL はカンマ区切りの文字列を一時テーブルに分割できますか?

DDD
DDDオリジナル
2024-12-08 19:12:161000ブラウズ

Can MySQL Split Comma-Separated Strings into a Temporary Table?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。