SUBSTRING_INDEX を使用できます 2回、-1個のパラメーターを持つ2番目のパラメーター:
SELECT
'aaaaa, bbbbb, ccccc',
SUBSTRING_INDEX('aaaaa, bbbbb, ccccc', ',', 1) AS column_one,
SUBSTRING_INDEX(SUBSTRING_INDEX('aaaaa, bbbbb, ccccc', ',', 2), ',', -1) AS column_two,
SUBSTRING_INDEX(SUBSTRING_INDEX('aaaaa, bbbbb, ccccc', ',', 3), ',', -1) AS column_three
パラメーターが負の場合、最後の区切り文字の右側(右から数えて)のすべてが返されます。例
-
SUBSTRING_INDEX('aaaaa, bbbbb, ccccc', ',', 2)
aaaaa, bbbbb
を返します -
SUBSTRING_INDEX(
aaaaa、bbbbb, ',', -1)
その後、bbbbb
を返します
'、'を区切り文字として使用するか、 TRIM 結果。
フィドル
編集
値が3つ未満の文字列を検討する場合は、次のように使用できます。
SELECT
s,
SUBSTRING_INDEX(s, ',', 1) AS column_one,
CASE WHEN LENGTH(s)-LENGTH(Replace(s, ',', ''))>0
THEN SUBSTRING_INDEX(SUBSTRING_INDEX(s, ',', 2), ',', -1)
ELSE NULL END AS column_two,
CASE WHEN LENGTH(s)-LENGTH(Replace(s, ',', ''))>1
THEN SUBSTRING_INDEX(SUBSTRING_INDEX(s, ',', 3), ',', -1)
ELSE NULL END AS column_three
FROM
strings
フィドル