oracle中decode函数的使用方法示例
decode的几种用法 1:使用decode判断字符串是否一样DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 ELSIF 条件=值2 THEN ELSIF 条件=值n THEN sql测试 输出结果 2:使用decode比较大小select decode(sign(var1-var2),-1,var 1,var2) from dual sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 sql测试 输出结果 100-90=10>0 则会返回1,所以decode函数最终取值为90 反正 输出结果 100-90=10>0返回1,判断结果为1,返回第一个变量100,最终输出结果为100 3:使用decode函数分段工资大于5000为高薪,工资介于3000到5000为中等,工资小于3000为低薪 sql测试 输出结果 4:利用decode实现表或者试图的行列转换sql测试 输出结果如下 5:使用decode函数来使用表达式来搜索字符串decode (expression,search_1,result_1,search_2,result_2,....,search_n,result_n,default) decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。 sql测试 输出结果 Decode函数在实际开发中非常的有用 结合Lpad函数,如何使主键的值自动加1并在前面补0 select LPAD(decode(count(记录编号),max(to_number(记录编号)+1)),14,'0') 记录编号 from tetdmis eg: select decode(dir,1) from a1_interval dir 的值是1变为0,是0则变为1 比如我要查询某班男生和女生的数量分别是多少? 通常我们这么写: 要想显示到一起还要union一下,太麻烦了 用decode呢,只需要一句话 select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表 eg: select sum(case siteno when 'LT' then 1 else 0 end),sum(case siteno when 'SZ' then 1 else 0 end) from facd605;总结 以上就是本文关于oracle中decode函数的使用方法示例的全部内容,希望对大家有所帮助。欢迎参阅:、、等,感谢朋友们对本站的支持! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |