用T-SQL如何写多分支语句
时间:2011-11-08
来源:互联网
这是一个积分返还金额的问题,如果我的积分范围分这几段
5000~30000 (乘以2%)
30001~50000 (乘以3%)
50001~100000 (乘以4%)
100001以上的 (乘以5%)
比如我现在的积分是67500那么的返还金额应该是
超出50000的部分乘以4%就是17500*4%=700
超出30000的部分乘以3%就是20000*3%=600
剩下的30000*2%=600
那么应该返还金额就是700+600+600=1900
作者: nvshenfann 发布时间: 2011-11-08
when 条件1 then 值2
end
作者: HEROWANG 发布时间: 2011-11-08
作者: ssp2009 发布时间: 2011-11-08
作者: nvshenfann 发布时间: 2011-11-08
else if
else
作者: cutebear2008 发布时间: 2011-11-08
when 积分 between 30000 and 80000 then 30000*0.02+(积分-30000)*0.03
……
end
作者: HEROWANG 发布时间: 2011-11-08
DECLARE @i INT SELECT CASE WHEN @i > 50000 THEN ( @i - 50000 ) * 0.04 + 20000 * 0.03 + 30000 * 0.02 ELSE CASE WHEN @i BETWEEN 30000 AND 50000 THEN ( @i - 30000 ) * 0.03 + 30000 * 0.02 ELSE @i * 0.02 END END
作者: OrchidCat 发布时间: 2011-11-08
declare @积分 int set @积分 = 67500 select case when @积分 >= 100001 then (@积分 - 100000) * 0.05 + 50000 * 0.04 + 20000 * 0.03 + 30000 * 0.02 when @积分 >= 50001 then (@积分 - 50000) * 0.04 + 20000 * 0.03 + 30000 * 0.02 when @积分 >= 30001 then (@积分 - 30000) * 0.03 + 30000 * 0.02 when @积分 >= 5000 then @积分 * 0.02 else 0 end as 返还金额 --结果 返还金额 --------------------------------------- 1900.00 (1 行受影响)
作者: NBDBA 发布时间: 2011-11-08
create table TB(积分 int) insert into TB select 67500 insert into TB select 125412 go create function fhje(@jf int) returns decimal(10,2) as begin declare @je decimal(10,2) if @jf>5000 and @jf<=30000 set @je=@jf*0.02 else if @jf>30000 and @jf<=50000 set @je=600+(@jf-30000)*0.03 else if @jf>50000 and @jf<=100000 set @je=1200+(@jf-50000)*0.04 else if @jf>100000 set @je=2000+(@jf-100000)*0.05 return @je end go select 积分,dbo.fhje(积分) as 返还金额 from tb /* 积分 返还金额 ----------- --------------------------------------- 67500 1900.00 125412 3270.60 (2 行受影响) */ go drop table tb drop function dbo.fhje
作者: qianjin036a 发布时间: 2011-11-08
作者: fredrickhu 发布时间: 2011-11-08
作者: pengxuan 发布时间: 2011-11-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28