2017-08-28 7 views
-1

倍精度の値をmoneyにキャストするときに問題があります。postgresqlの通貨として倍精度をキャスト

SELECT scrap_cost.year AS year 
, scrap_cost.weekly AS week 
, scrap_cost.scrap_cost::MONEY 
, labor_cost.labor_cost::MONEY 
FROM ... 

戻り、私はこれのようにそれを投げられた解決するためにやった

ERROR: cannot cast type double precision to money 
LINE 4: ..., scrap_cost.scrap_cost::MONEY, labor_cost.labor_cost::money 
                  ^
********** Error ********** 

ERROR: cannot cast type double precision to money 
SQL state: 42846 
Character: 117 
+1

は、なぜあなたはしたいと思うのpostgresで解決策を見つけた

SELECT scrap_cost.year AS year , scrap_cost.weekly AS week , scrap_cost.scrap_cost::MONEY , labor_cost.labor_cost::NUMERIC::MONEY FROM ...

最初それをするには? 'お金'はかなり役に立たないデータ型です。 –

+0

私はPG adminに質問を書いています。それはSSRS –

+1

できれいに戻ります。最初に '数値 'として格納する必要があります。 'double'は**近似**データ型です。あなたが保存した値を取得できるようにしたい場合は、2倍から離れてください。 'お金'は数値的には利点がありませんが、多くの癖や欠点があります。 –

答えて