多大な努力を払えば、これを行うことができます。ただし、実際には、これはデータを保存するための非常に非常に悪い方法です。
時々、フォーマットが私たちの管理下にないデータを使用しなければならないという精神で:
select id,
(substring_index(value, ',', 1) +
substring_index(substring_index(concat(value, ',0'), ',', 2), ',', -1) +
substring_index(substring_index(concat(value, ',0'), ',', 3), ',', -1) +
substring_index(substring_index(concat(value, ',0'), ',', 4), ',', -1) +
substring_index(substring_index(concat(value, ',0'), ',', 5), ',', -1)
) as thesum
from t;
substring_index()
に呼び出されるネスト 文字列のn番目の値をフェッチします。 concat(value, ',0')
式よりも値が少ない場合を処理することです。この場合、ネストされたsubstring_index()
リスト内のアイテム数よりも大きいnの値の最後の値を返します。 0
を連結する リストに追加すると、これが合計に影響を与えないことが保証されます。
SQLフィドルは