区切り文字を使用した MySQL 文字列からの部分文字列の抽出
MySQL では、文字列に次の文字で区切られた複数の部分文字列が含まれている場合、文字列から部分文字列を抽出するのが困難になることがあります。区切り文字。ただし、標準の MySQL 関数を使用してこれを実現する手法があります。
分割関数を使用した解決策
残念ながら、MySQL はネイティブでは分割文字列関数をサポートしていません。ただし、ストアド プロシージャまたはユーザー定義関数を使用してカスタム分割関数を作成できます。回答で提供されているような外部リソースを参照してください。
SUBSTRING_INDEX を使用した詳細なメソッド
単純なデータ抽出の場合、より詳細なアプローチを使用できます。
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS colorfirst, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS colorsecond, ... SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', n), ',', -1) AS colornth FROM product;
この SQL ステートメントは、SUBSTRING_INDEX 関数を繰り返し使用して、色の文字列を次のように分解します。カンマ区切り文字に基づく個々の部分文字列。変数「n」は、文字列内の目的の部分文字列の位置を表します。たとえば、「colors」フィールドから最初の 3 色を抽出する場合は、上記のステートメントで「n」を 1、2、および 3 に設定します。
以上が区切り文字を使用して MySQL 文字列から部分文字列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。