例如:表a
编号 金额
1 503
2 150
3 90
4 350
根据金额大小计算另一列数据,如果金额大于500,则等于500乘10%,如果金额大于100小于等于500,则结果等于金额乘20%,如果金额小于100,则结果等于金额乘50%
用CASE
SELECT *,
CASE
WHEN 金额 > 500 Then 50
WHEN 金额 < 100 Then 金额 * 0.5
ELSE 金额 * 0.2
END
FROM TableName
sql中可以使用where后的条件来执行相关代码
//外部传来一个金额参数b
select * from a
<where>
<if text="b >500">
表字段的金额字段名=b*0.01
</if>
<if text="b > 100 and b <= 500 ">
表字段的金额的字段名=b*0.01
</if>
<if text="b < 100 ">
表字段的金额的字段名=b*0.5
</if>
</where>
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632