2017-10-26 5 views
-1

を小数に私はファイルへの出力に失敗しましたエラーを受け取る小数点値コンバートvarchar型は、Oracle

にvarchar型に変換したいと思います。値は数値ではありません。

をjava.lang.Stringで、私は

try_cast(unitPrice as integer) as price_value 

を使用する場合しかし、私はこのエラーを引き起こしている何十進値

にnull値を受け取りますか?

+2

のようなものを試してみてください。そして、 '値は数字ではありません:java.lang.String'はOracleのエラーメッセージではありません(それらはすべて' ORA-'で始まります) –

答えて

0

Oracleは、次の数値データ・タイプを有する:

{NUMBER [(精密[スケール])] | FLOAT [(精度)] | BINARY_FLOAT | BINARY_DOUBLE }

https://docs.oracle.com/cd/B28359_01/server.111/b28285/sqlqr06.htm#g999425

だから、おそらくオラクルには `try_cast`はありません

cast(unitPrice as float) as price_value 
+0

お金のために浮動小数点を使うのは良い考えではありません。数字は賢明な選択だろう –

+0

おそらく。より広い文脈を知らなければ、この場合は言うことができません。物価が0.01未満の通貨価値を持つことができるか、通貨の最低単位が国にあるかにかかわらず、多くの時間があります。しかし、ソートされた値が小売価格の場合、たとえば正しい値になります。 –

+0

多くのことを明確にしていただきありがとうございます。 –