区切り文字を使用した MySQL での部分文字列の抽出
MySQL では、区切り文字 (この場合はカンマ) が存在します。これは、MySQL が専用の分割関数を提供していないためです。
アプローチ: ユーザー定義関数の使用
関連する質問で提案されているように、1 つのアプローチはユーザーを活用することです。 - 望ましい結果を達成するために定義された関数。ただし、このアプローチでは、文字列分割を処理するカスタム関数を作成する必要があります。
代替解決策: 冗長抽出
より冗長だが効率的なアプローチについては、次のクエリを検討してください。
このクエリは、SUBSTRING_INDEX 関数を複数回使用して部分文字列を抽出します順次。最初の SUBSTRING_INDEX 呼び出しでは、カンマを区切り文字として使用して、colors フィールドから最初の部分文字列をフェッチします。後続の SUBSTRING_INDEX 呼び出しは、結果の文字列から残りの部分文字列をフェッチします。
クエリ内の n は、抽出する必要な部分文字列の数を表します。たとえば、colornth は、colors フィールドから n 番目の部分文字列を返します。
このアプローチにより、複雑なユーザー定義関数に頼ることなく部分文字列を抽出できます。ただし、大規模なデータセットや多数の部分文字列の場合は冗長になる可能性があります。
以上が区切り文字を使用して MySQL 文字列から部分文字列を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。