我希望有人可以在这里帮助我。
我正在用黑斑羚编写一个CASE,以查找表中的遗漏行。
但是,我需要将下面的示例写为WHEN 1000 =999。代替编写1000条CASE行,有没有需要更少代码的更有效,更快捷的解决方案?这对我有很大帮助。谢谢。
CASE WHEN dif_tradecount = 2 THEN 1
WHEN dif_tradecount = 3 THEN 2
WHEN dif_tradecount = 4 THEN 3
WHEN dif_tradecount = 5 THEN 4
WHEN dif_tradecount = 6 THEN 5
WHEN dif_tradecount = 7 THEN 6
WHEN dif_tradecount = 8 THEN 7
WHEN dif_tradecount = 9 THEN 8
WHEN dif_tradecount = 10 THEN 9
WHEN dif_tradecount = 11 THEN 10
WHEN dif_tradecount = 12 THEN 11 .....
ELSE null
END AS missed_messages
答案 0 :(得分:2)
如果我的任务正确无误:
CASE
WHEN dif_tradecount > 1 and dif_tradecount<=1000 THEN dif_tradecount-1
ELSE null
END AS missed_messages
答案 1 :(得分:1)
您可以这样做:
White
我想知道为什么(case when dif_tradecount between 2 and 1000
then dif_tradecount - 1
end) as missed_messages
是必要的。也许:
case
也可以。
答案 2 :(得分:0)
为什么不呢?
if(dif_tradecount>1,dif_tradecount-1,NULL)