残念ながら、次のような値を含むフィールド列があります
- 4
- 12,3
- 8,5,6,7
SELECTステートメントを記述します。その結果は次のようになります。
- 4
- 12
- 8
MySQLは「分割」機能を提供しないので、実際にどのようにそれを行うことができますか?
MySQLのSUBSTRING_INDEX
機能を使用します。
SELECT SUBSTRING_INDEX(field, ',', 1)
ただし、リストを区切り文字で区切られた文字列に保持することは、一般にMySQLのようなリレーショナルデータベース管理システムの非効率的な使用法です。このようなリストをペアの別個のテーブルに保持することにより、データ構造を正規化する方がよい場合がよくあります。(id, value)
MySQL関数SUBSTRING_INDEX(str、delim、count)を使用できます
SELECT SUBSTRING_INDEX(value,',',1) As value FROM ...