ホームページ >データベース >mysql チュートリアル >正規表現はカンマ区切りの文字列を解析して MySQL 一時テーブルに入れることができますか?

正規表現はカンマ区切りの文字列を解析して MySQL 一時テーブルに入れることができますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 03:24:17850ブラウズ

Can Regular Expressions Parse Comma-Separated Strings into MySQL Temporary Tables?

RegEx を利用してカンマ区切り文字列を MySQL 一時テーブルに解析する

質問:

通常のメソッドを使用して、カンマ区切りの文字列を一時的な MySQL テーブルに格納します。式?

答え:

MySQL には文字列分割用の組み込み関数がありませんが、さまざまな回避策が存在します。 1 つのアプローチには、文字列をコンポーネントに分割するためのカスタム関数とループ メカニズムが含まれます。

文字列分割のカスタム関数:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

ループとインクリメントカスタム関数:

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 のループ機能を使用してコンポーネントを一時テーブルに動的に挿入します。

以上が正規表現はカンマ区切りの文字列を解析して MySQL 一時テーブルに入れることができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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