区切り文字を使用した MySQL 部分文字列の抽出
MySQL の文字列から部分文字列を抽出するには、SUBSTRING_INDEX 関数を使用します。この関数を使用すると、部分文字列を区切る区切り文字と、抽出する部分文字列の位置を指定できます。
たとえば、次の表について考えてみましょう。
item_code | name | colors |
---|---|---|
102 | ball | red,yellow,green |
104 | balloon | yellow,orange,red |
色を抽出するには個別の部分文字列を分割するには、次のクエリを使用できます。
SELECT item_code, name, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS color_first, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS color_second FROM Product;
この中で SUBSTRING_INDEX 関数が 2 回適用されます。クエリ。 1 回目は最初の部分文字列を見つけるために使用され、2 回目は最初のアプリケーションの結果から残りの部分文字列を抽出するために使用されます。
結果の出力は次のようになります:
item_code | name | color_first | color_second |
---|---|---|---|
102 | ball | red | yellow |
104 | balloon | yellow | orange |
すべての部分文字列をフェッチするクエリのより詳細なバージョンは次のようになります:
SELECT item_code, name, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 1), ',', -1) AS color_first, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 2), ',', -1) AS color_second, SUBSTRING_INDEX(SUBSTRING_INDEX(colors, ',', 3), ',', -1) AS color_third FROM Product;
これより長いクエリは、短いクエリと同じパターンを使用して、色フィールドからすべての部分文字列を取得します。
以上がMySQL で区切り文字で区切られた文字列から部分文字列を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。