介绍
本篇文章给大家分享的是有关甲骨文中解码函数的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
解码的几种用法
<强> 1:使用解码判断字符串是否一样强>
解码(价值,i, then1,如果then2, if3, then3,…,其他)
含义为
如果条件=值1然后
返回(1)
ELSIF条件=2然后
返回值(值2)
……
ELSIF条件=值n然后
返回值(3)其他
返回(默认)
结束如果
sql测试
选择empno,解码(7369年empno, & # 39;给史密斯# 39;,7499 & # 39;艾伦# 39;,7521 & # 39;病房# 39;,7566 & # 39;琼斯# 39;,& # 39;不知# 39;)从emp rownum<名称=10
输出结果
7369史密斯 7499年艾伦 7521病房 琼斯7566年 7654不知 7698不知 7782不知 7788不知 7839不知 7844不知
<强> 2:使用解码比较大小强>
选择解码(签署(var1-var2), 1, var 1, var2)从双重
标志()函数根据某个值是0,正数还是负数,分别返回0,1,1
sql测试
选择解码(签署(100 - 90),-1100年,90年)的双重
输出结果
90
100 - 90=10祝辞0则会返回1,所以解码函数最终取值为90
反正
选择解码(签署(100 - 90),1100年,90年)的双重
输出结果
100
100 - 90=10祝辞0返回1,判断结果为1,返回第一个变量100,最终输出结果为100
<强> 3:使用解码函数分段强>
工资大于5000年为高薪,工资介于3000年到5000年为中等,工资小于3000年为低薪
sql测试
选择 ename, sal, 解码(标志(sal - 5000), 1, & # 39;高sal # 39; 0, & # 39;高sal # 39; - 1, 解码(标志(sal - 3000), 1, & # 39;sal # 39;中期, 0, & # 39;sal # 39;中期, - 1, 解码(标志(sal - 1000), 1, & # 39;低sal # 39; 0, & # 39;低sal # 39; - 1, & # 39;低sal # 39;))) 从 emp
输出结果
选择 SUM(解码(ENAME & # 39;给史密斯# 39;,萨尔,0))史密斯, SUM(解码(ENAME & # 39;艾伦# 39;,萨尔,0))艾伦, SUM(解码(ENAME & # 39;病房# 39;,萨尔,0))的病房里, SUM(解码(ENAME & # 39;琼斯# 39;,萨尔,0))琼斯, SUM(解码(ENAME & # 39;马丁# 39;,萨尔,0))马丁从EMP
输出结果如下
选择 ENAME, 萨尔, 解码(INSTR (ENAME & # 39; & # 39;), 0, & # 39;不含有& # 39;, & # 39;含有& # 39;)作为信息 从 EMP
输出结果
甲骨文中解码函数的使用方法