甲骨文中解码函数的使用方法

  介绍

本篇文章给大家分享的是有关甲骨文中解码函数的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

解码的几种用法

<强> 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 

输出结果

甲骨文中解码函数的使用方法