首页数据库Oracle进阶DECODE函数使用详解

Oracle进阶DECODE函数使用详解

时间2024-02-28 18:32:03发布访客分类数据库浏览954
导读:收集整理的这篇文章主要介绍了Oracle进阶DECODE函数使用详解,觉得挺不错的,现在分享给大家,也给大家做个参考。 DECODE含义decode(条件,值1,返回值1,值2,返回值2...
收集整理的这篇文章主要介绍了Oracle进阶DECODE函数使用详解,觉得挺不错的,现在分享给大家,也给大家做个参考。

DECODE含义

decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)

这个是decode的表达式,具体的含义解释为:

IF 条件=值1 THEN    RETURN(翻译值1)ELSIF 条件=值2 THEN    RETURN(翻译值2)    ......ELSIF 条件=值n THEN    RETURN(翻译值n)ELSE    RETURN(缺省值)END IF

DECODE的用法

这里主要说的就是decode的用法,在很多时候这个函数还是很有用的。

1.翻译值

数据截图:

需求:查询出的数据,1表示男生,2表示女生

select t.id,       t.name,       t.age,       decode(t.sex, '1', '男生', '2', '女生', '其他') as sex  From STUDENT2 t

结果:

2.decode比较大小

说明:sign(value)函数会根据value的值为0,正数,负数,分别返回0,1,-1

数据:

需求:年龄在20以上的显示20以上,20以下的显示20以下,20的显示正好20

select t.id,       t.name,       t.age,       decode(sign(t.age - 20),              1,              '20以上',              -1,              '20以下',              0,              '正好20',              '未知') as sex  from STUDENT2 t

结果:

3.decode分段

数据暂无

需求:工资大于5000为高薪,工资介于3000到5000为中等,工资小于3000为底薪

select name,       sal,       decode(sign(sal - 5000),              1,              '高薪',              0,              '高薪',              -1,              decode(sign(sal - 3000), 1, '中等', 0, '中等', -1, '低薪')) as salname  from PErson;
    

结果暂无

4.搜索字符串

数据:

需求:找到含有三的姓名

select t.id,       decode(instr(t.name, '三'), 0, '姓名不含有三', '姓名含有三') as name,       t.age,       t.sex  from STUDENT2 t

结果:

5.判断是否为空

数据:

需求:性别为空显示“暂无数据”,不为空原样输出

select t.id,       t.name,       t.age,       decode(t.sex,NULL,'暂无数据',t.sex) as sex  from STUDENT2 t

结果:

总结:decode在书写SQL的时候还是挺有用的,常用的应该是1和5了吧(我猜的,因为我就是经常用这两种)

到此这篇关于oracle进阶DECODE函数使用详解的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • Oracle中decode函数用法
  • oracle中decode函数的使用方法示例
  • Oracle 中 decode 函数用法
  • oracle中decode函数的使用方法
  • 使用Oracle的Decode函数进行多值判断
  • Oracle Decode()函数使用技巧分享
  • Oracle DECODE函数语法使用介绍
  • @H_134_126@

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle进阶DECODE函数使用详解
本文地址: https://pptw.com/jishu/631789.html
Oracle数据库分析函数用法 oracle中commit之后进行数据回滚的方法

游客 回复需填写必要信息