ホームページ > データベース > mysql チュートリアル > PHP のexplode() 関数のように MySQL で文字列を分割するにはどうすればよいですか?

PHP のexplode() 関数のように MySQL で文字列を分割するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-18 10:52:09
オリジナル
400 人が閲覧しました

How Can I Split Strings in MySQL Like PHP's explode() Function?

MySQL での PHP のexplode() の複製

MySQL は、文字列を分割するための PHP の explode() 関数と直接同等のものを提供しません。 これは、SQL クエリ内の文字列データを解析する必要がある場合に、多くの場合に問題を引き起こします。 ただし、カスタム関数を使用すると、この制限に効果的に対処できます。

文字列分割用の MySQL 関数

次の SQL コードは、文字列、区切り文字、位置を入力として受け取る関数 SPLIT_STRING() を定義します。

<code class="language-sql">CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
       CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
       delim, '');</code>
ログイン後にコピー

SPLIT_STRING() 関数の使用

この関数は、ターゲット文字列、区切り文字 (「,」、「-」、またはその他の任意の単一文字)、および部分文字列の目的の位置を指定することによって使用されます。 例:

<code class="language-sql">SELECT SPLIT_STRING('apple, pear, melon', ',', 2);</code>
ログイン後にコピー

このクエリは「pear」を返します。

重要な考慮事項

SPLIT_STRING() 関数は、示されているように、指定された位置に基づいて単一の部分文字列のみを返します。 複数の部分文字列を取得するには、手続き型 SQL やその他の技術を含む、より複雑なアプローチが必要になる可能性があります。 正規表現は、より複雑な文字列操作のニーズに対して別のソリューションを提供する可能性があります。

以上がPHP のexplode() 関数のように MySQL で文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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