请教:oracle decode问题(下面的代码应该怎样理解)
selectdecode(grouping(t.seat_number)+grouping(t.sale_number),0,t.seat_number,1,'小计:'|...
select decode(grouping(t.seat_number) + grouping(t.sale_number),0,t.seat_number,1,'小计:'||t.seat_number,'合计') from 表名;seat_number是席位号,sale_number是业务员席位。
展开
2个回答
展开全部
这个是判断的值grouping(t.seat_number) + grouping(t.sale_number)
如果等于 0
那么返回 t.seat_number
如果等于 1
那么返回 '小计:'||t.seat_number
除了0和1的其他情况
那么返回 '合计'
如果等于 0
那么返回 t.seat_number
如果等于 1
那么返回 '小计:'||t.seat_number
除了0和1的其他情况
那么返回 '合计'
追问
那么请问,什么情况下是返回0 什么情况下是返回1的咧
追答
grouping(t.seat_number) + grouping(t.sale_number)
主要看你这个的值 如果这个值=0 那么就返回0对应的内容
如果这个值是1 那么返回1对应的内容!~
DECODE(a,0,'a',1,'b','c')
写个简单的方便理解 如果a=0 那么返回'a' 如果a=1 那么返回'b' 其他情况返回'c'
展开全部
decode(grouping(t.seat_number) + grouping(t.sale_number),0,t.seat_number,1,'小计:'||t.seat_number,'合计')
可以解释为
if grouping(t.seat_number) + grouping(t.sale_number) =0 then t.seat_number
if grouping(t.seat_number) + grouping(t.sale_number) =1 then '小计:'||t.seat_number
else '合计'
这下能理解了吗
其他的就不用解释了,你应该明白的.
可以解释为
if grouping(t.seat_number) + grouping(t.sale_number) =0 then t.seat_number
if grouping(t.seat_number) + grouping(t.sale_number) =1 then '小计:'||t.seat_number
else '合计'
这下能理解了吗
其他的就不用解释了,你应该明白的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询