decode(value,if1,then1,if2,then2,if3,then3,...,else)
含义为
if 条件=值1 then
return(value 1)
else if条件=值2 then
return(value 2)
......
else if 条件=值n then
return(value 3)
else
return(default)
endif
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果value结果不等于给出的任何配对时,Decode 结果就返回else 。
作者:weeknd
来源:CSDN
原文:https://blog.csdn.net/weeknd/article/details/71157044
补充:
字符串中
(NVL(length(regexp_replace(id, '[^,]', NULL)),decode(ltrim(id),null,-1,0)) +1)