SQL算术无效数

时间:2018-02-09 17:39:22

标签: sql oracle math

这可能非常简单,但我自己也找不到解决方案。

我只想将此操作作为查询的一部分执行

1 - (RELEASE_QUAN/TOTAL_QTY_ORD)

这给了我错误(而且我非常肯定这是导致错误的原因)

  

ORA-01722:无效号码

这很好用

(RELEASE_QUAN/TOTAL_QTY_ORD)

为什么我不能做第一行?

完整查询

SELECT

REQUEST_DATE,
Company,
CUSTNO,
MISC_ITEM || '-' || CUSER1,
V_RELEASES_COMB_ACCT_LINK.EXTENDED_PRICE * ((RELEASE_QUAN/TOTAL_QTY_ORD)) ||  1 - (RELEASE_QUAN/TOTAL_QTY_ORD) 


FROM
IQMS.V_RELEASES_COMB_ACCT_LINK V_RELEASES_COMB_ACCT_LINK

INNER JOIN
 IQMS.V_GLACCT V_GLACCT
ON
 V_RELEASES_COMB_ACCT_LINK.GLACCT_ID = V_GLACCT.ID

2 个答案:

答案 0 :(得分:4)

您正在将字符串连接与乘法混合。

在表达式

V_RELEASES_COMB_ACCT_LINK.EXTENDED_PRICE * ((RELEASE_QUAN/TOTAL_QTY_ORD)) ||  1 - (RELEASE_QUAN/TOTAL_QTY_ORD) 

表达式正在评估为

(V_RELEASES_COMB_ACCT_LINK.EXTENDED_PRICE * ((RELEASE_QUAN/TOTAL_QTY_ORD)) || 1) - (RELEASE_QUAN/TOTAL_QTY_ORD) 

答案 1 :(得分:0)

我想是一个真正简单的解决方案。我想得太慢了

我用括号

包围了表达式
(1 - (RELEASE_QUAN/TOTAL_QTY_ORD))

现在有效。