oracle decode函数怎么用_oracle decode 热文
1、用法1:使用decode()判断字符串是否相同。
【资料图】
2、Decoding (value, if condition 1, then value 1, if condition 2, then value 2, otherwise other values)
3、Sql测试:
4、Select aac001 and decode (aac001," 000000001"" Zhang San"" 000000002"" Li Si," Other") as the name in ac01, where rownum=1;
5、输出结果:
6、00000000002,李四
7、用法2:使用decode()比较大小。
8、Select decode(sign(var1-var2),1,var1,var2) from dual;
9、(注意:sign()函数根据一个值是0、正还是负,分别返回0、1和-1。)
10、Sql测试:
11、Select decode(sign(100-90),1,100,90) from dual;
12、输出结果:100
13、说明:100-90=100,sign()函数返回1,decode()函数取var的值。
14、1是100。
15、Sql测试:
16、Select decode(sign(100-90),-1,100,90) from dual;
17、输出结果:90
18、100-90=100,则sign()返回1,1,decode()函数的var2的值为90。
19、用法3:使用decode()函数进行分段。
20、假设工资一万以上是高工资,五千到一万是中工资,五千以下是低工资。
21、Sql测试:
22、Select ename, sal, decode(sign(sal-10000), 1," high salary" 0," high salary, -1, decoding (symbol (sal-5000), 1" medium" 0" medium" -1," low salary)) comes from AC.
23、输出结果:
24、李明12000 高薪
25、张三5000 中等
26、王五3000 低薪
本文到此结束,希望对大家有所帮助。