将varchar转换为十进制Oracle

时间:2017-10-26 10:08:11

标签: sql oracle type-conversion

我想将varchar转换为十进制值

当我使用

try_cast(unitPrice as decimal) as price_value

我收到错误无法输出到文件。值不是数字:java.lang.String

然而,当我使用

try_cast(unitPrice as integer ) as price_value

我收到十进制值的空值

导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

Oracle具有以下数字数据类型:

{NUMBER [(precision [,scale])] | FLOAT [(精度)] | BINARY_FLOAT | BINARY_DOUBLE }

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

所以你应该尝试像

这样的东西
cast(unitPrice as float) as price_value