Sql 添加在现有列中查找百分比偏差值的新列
在Oracle中,我想编写一个SELECT查询,它将从每行都有整数的现有列中找出1.75%的百分比,并将其四舍五入到最接近的美元 我已经记下了我的一些查询,但不知道如何写出公式来执行百分比计算Sql 添加在现有列中查找百分比偏差值的新列,sql,oracle,percentage,Sql,Oracle,Percentage,在Oracle中,我想编写一个SELECT查询,它将从每行都有整数的现有列中找出1.75%的百分比,并将其四舍五入到最接近的美元 我已经记下了我的一些查询,但不知道如何写出公式来执行百分比计算 SELECT R.LAST_NAME, O.RENT_FEE, ROUND(RENT_FEE,0) AS DISCOUNT FROM ROOM_UNIT R, OWNER O WHERE R.OWNER_NUM = O.OWNER_NUM 从数学课上我们知道,按x百分比贴现等于乘以 (1-x/100)
SELECT R.LAST_NAME, O.RENT_FEE, ROUND(RENT_FEE,0) AS DISCOUNT
FROM ROOM_UNIT R, OWNER O
WHERE R.OWNER_NUM = O.OWNER_NUM
从数学课上我们知道,按
x
百分比贴现等于乘以
(1-x/100)
在您的情况下,折扣1.75%意味着乘以,(1-0.0175)
或0.9825
:
SELECT R.LAST_NAME, O.RENT_FEE, ROUND((1 - 0.0175) * RENT_FEE,0) AS DISCOUNT
FROM ROOM_UNIT R, OWNER O -- ^^^^^^^^^^^^
WHERE R.OWNER_NUM = O.OWNER_NUM
从数学课上我们知道,按
x
百分比贴现等于乘以
(1-x/100)
在您的情况下,折扣1.75%意味着乘以,(1-0.0175)
或0.9825
:
SELECT R.LAST_NAME, O.RENT_FEE, ROUND((1 - 0.0175) * RENT_FEE,0) AS DISCOUNT
FROM ROOM_UNIT R, OWNER O -- ^^^^^^^^^^^^
WHERE R.OWNER_NUM = O.OWNER_NUM
我不敢相信你会问如何将百分比应用于一个数字。。。此外,你几天前发布了。请做一些努力,至少研究一下基本原理,我不敢相信你在问如何将百分比应用于一个数字。。。此外,你几天前发布了。请做些努力,至少研究一下基本原理,为什么不直接写
(1-0.0175)*租金?它看起来更清晰,更不容易出错。@GordonLinoff非常感谢您的建议!它确实更容易阅读,而且优化器将优化减法。为什么不直接编写(1-0.0175)*租金()呢?它看起来更清晰,更不容易出错。@GordonLinoff非常感谢您的建议!它确实更容易阅读,优化器将优化减法。