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表示男生,2表示女生

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

结果:

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

结果:

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;

结果暂无

搜索字符串

数据:

需求:找到含有三的姓名

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

结果:

判断是否为空

数据:

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

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

结果:

原文链接:https://blog.csdn.net/sdut406/article/details/82795585

最新文章

  1. jQuery css3鼠标悬停图片显示遮罩层动画特效
  2. MySql binlog恢复数据
  3. BZOJ 1053 & 反素数
  4. BroadcastReceiver和Intetnt的理解 Day34
  5. 打开网页自动弹出QQ临时会话 (打开网站弹出QQ聊天) qq.js文件代
  6. net core开发环境准备
  7. 左右c++与java中国的垃圾问题的分析与解决
  8. UVA-818 dfs + 位运算
  9. 51nod“省选”模测第二场 B 异或约数和(数论分块)
  10. Android--UI之Button
  11. 关于前端js面向对象编程以及封装组件的思想
  12. 【转】git-stash用法小结
  13. Zephyr学习(三)启动过程
  14. 汉化-PowerDesigner 16.5 汉化
  15. MySQL 数据库 分页查询
  16. 心脏滴血HeartBleed漏洞研究及其POC
  17. ubuntu 14.04 Clion2016.2 安装激活与安装后添加快捷启动方式
  18. CF1005F Berland and the Shortest Paths
  19. JAVA Font类
  20. Git版本控制使用方法入门教程

热门文章

  1. Linux 中find命令
  2. 好用的代码统计小工具SourceCounter(下载)
  3. 毕业设计代做,各种系统微服务项目ssm项目,员工管理系统,微信小程序,购物商城,二手商城系统,销售系统,等等
  4. C++ 标准库 std::find 查找
  5. hdu 6465 线性变换高斯消元
  6. vbs与其他语言进行交互编程(外存传参)
  7. 【2019.8.11下午 慈溪模拟赛 T2】数数(gcd)(分块+枚举因数)
  8. 【ECNU3510】燃烧吧,室友!(模拟)
  9. HikariCP连接池
  10. BFS(四):搜索状态判重