oracle数据库decode用法 sql decode函数用法?
sql decode函数用法?
decode函数比较1个参数时
SELECT ID,DECODE(inParam,"beComparedParam","值1" ,"值2") name FROM bank
#如果第一个参数inParam=="beComparedParam",则select得到的name显示为值1,
#如果第一个参数inParam!="beComparedParam",则select得到的name显示为值2
decode函数比较多个参数时
SELECT ID,DECODE(inParam,"para1","值1" ,"para2","值2","para3","值3","para4","值4","para5","值5") name FROM bank
#如果第一个参数inParam=="para1"那么那么select得到的那么显示为值1;
#如果第一个参数inParam=="para2"那么那么select得到的那么显示为值2;
#如果第一个参数inParam=="para3"那么那么select得到的那么显示为值3;
#如果第一个参数inParam=="para4"那么那么select得到的那么显示为值4;
#如果第一个参数inParam=="para5"那么那么select得到的那么显示为值5;
sql decode函数里面有多个值怎么办?
1, deocde 与 case when 的作用相同,用于不同条件分支的不同处理。于case when 相比只是用法不同。同样可以嵌套和满足多个值。
2,多个值
decode(name, "Wang", "001", "Li", "002", "003")
相当于
case
when name = "Wang"
then "001"
when name = "Li"
then "002"
else "003"
end
3, 嵌套
decode(name, "Wang", decode(sno, "001", "Yes", ""), "Li", decode(sno,"002","Yes",""), decode(sno, "003","Yes",""))
相当于
case
when name = "Wang"
then case
when sno="001"
then "Yes"
else ""
end
when name="Li"
then case
when sno="002"
then "Yes"
else ""
end
else case
when sno="003"
then "Yes"
else ""
end
end
如何在sqlserver中实现oracledecode的功能,并写成一个函数?
create function uf_decode(@argu varchar(999))returns integerasbegin --对@argu进行分解 --使用动态SQL组织CASE语法结构end引用uf_decode时把参数以一个字符串的形式传入﹐你再试试﹐如果不行﹐晚上我帮你写。
oracle数据库decode用法 oracle decode函数的用法 sql中decode的用法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。