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

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

Barbara Streisand
リリース: 2024-12-18 03:24:17
オリジナル
859 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート