アプリ版:「スタンプのみでお礼する」機能のリリースについて

SQLのみで以下の様なことをしたいのですが、やり方が分かりません。

何かしら手法をお知りの方はご教授願いたく存じます。

▼Postgresバージョン
8.1

▼テーブル情報
id, numbers
1, '0,20,10,30,50'
2, '10,20,30,50,60'



numbers の値をカンマ( , )で分解し、加算したい。
例)
 '0,20,10,30,50' → 0 + 20 + 10 + 30 + 50 → INTEGERの 110 を取得


※regexp_split_to_table の関数は、postgresのバージョンが古いために使用できませんでした。
postgresのバージョンを上げる事が出来ないため、8.1でも可能な対応方法を模索しています。

A 回答 (1件)

ストアドファンクションを作ってください。


8.1でもsplit_part関数は使用できるようですから、
これで数値部分を取り出して加算していけばいいかと思います。

まあ、カンマの数が例えば最大で10個とか決まっている場合は、
split_part関数を利用して力技でSELECTだけで完結させることもできそうですね。
    • good
    • 0
この回答へのお礼

ストアドファンクションで処理を組んで解決出来ました。
ありがとうございました

お礼日時:2013/10/25 18:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!