区切り文字を使用した MySQL の部分文字列の抽出
問題:
次のような MySQL の文字列から部分文字列を抽出します。カンマなどの特定の区切り文字で区切られた複数の値(,).
答え:
MySQL には組み込みの文字列分割関数がありませんが、これを実現する別のアプローチがあります:
ユーザー定義関数:
分割するユーザー定義関数 (UDF) を実装します。指定された区切り文字に基づく文字列。
クエリの例 (詳細):
デモの目的で、n が抽出する部分文字列の数を表すと仮定します:
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;
この例では、SUBSTRING_INDEX 関数を使用して最初の部分文字列を抽出し、次に 2 番目の部分文字列を抽出します。 n 番目の部分文字列。
以上がMySQL で区切り文字で区切られた文字列から部分文字列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。