2016 - 2024

感恩一路有你

oracle数据库decode用法 sql decode函数用法?

浏览量:2573 时间:2021-03-11 13:02:07 作者:admin

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的用法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。