如何用SAS宏实现Oracle中的decode函数

如何用SAS宏实现Oracle中的decode函数,第1张

decode函数相当于一条件语句(if)它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于sql的其它函数,decode函数还能识别和 *** 作空值

decode函数相当于一条件语句(if)它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于sql的其它函数,decode函数还能识别和 *** 作空值

其具体的语法格式如下:

decode(input_value,value,result[,value,result…][,default_result]);

根据意思错误的里面decode里应该是101 115 125 103这4个值

decode函数返回的值不固定,是根据你设置的值

这里decode(category,'COMPUTER',01,'FITNESS',015,'SELF HELP',025,003)返回的是数值

改为decode(category,'COMPUTER','01','FITNESS','015','SELF HELP','025','003')则返回字符型

可以啊,小于60不就是条件么。

不过decode要实现这个大于小于就要用到sign函数进行组合。

decode(sign(字段-60),-1,'正常',1,'异常')

建议用case when then

case when 字段<60 then ‘正' when 字段>60 then '异常' else '其他' end

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/12162938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存