Decode和case都可以实现SQL中的条件结构,下面为用法示例:

  1. select id,name,score,decode(floor(score/20),5,'A',4,'B',3,'C',2,'D','E') as grade from tb_score01 order by grade

运行情况:

  1. SQL> select id,name,score,decode(floor(score/20),5,'A',4,'B',3,'C',2,'D','E') as grade from tb_score01 order by grade;
  2.  
  3. ID NAME SCORE G
  4. ---------- -------------------- ---------- -
  5. 3 VJJYYVKXKJKZADERKU 84 B
  6. 11 AGUNCTGZFGDJJGLQTQMY 81 B
  7. 2 YUVFJNTQAYJBTDYAQNIB 50 D
  8. 10 XDJFPNUIP 53 D
  9. 9 ZFJKTW 59 D
  10. 1 KBKVMELHCIFEWFI 42 D
  11. 5 DUEEXRBJJI 5 E
  12. 8 TEEGBSRVHASOTBHN 30 E
  13. 7 UAMTSMFDE 2 E
  14. 13 YUNHCQSBVPQ 27 E
  15. 14 VIDHHKOAWOTQXRBSI 14 E
  16.  
  17. ID NAME SCORE G
  18. ---------- -------------------- ---------- -
  19. 4 KBJWREHVF 8 E
  20. 15 RMWEROFCFEVVFRU 14 E
  21. 6 QLLJNGXVFR 2 E
  22. 12 WNMWJP 30 E
  23.  
  24. 已选择15行。

Case示例:

  1. select id,name,score,case floor(score/20) when 5 then 'A' when 4 then 'B' when 3 then 'C' when 2 then 'D' else 'E' end as grade from tb_score01 order by grade

执行情况:

  1. SQL> select id,name,score,case floor(score/20) when 5 then 'A' when 4 then 'B' when 3 then 'C' when 2 then 'D' else 'E' end as grade from tb_score01 order by grade ;
  2.  
  3. ID NAME SCORE G
  4. ---------- -------------------- ---------- -
  5. 3 VJJYYVKXKJKZADERKU 84 B
  6. 11 AGUNCTGZFGDJJGLQTQMY 81 B
  7. 2 YUVFJNTQAYJBTDYAQNIB 50 D
  8. 10 XDJFPNUIP 53 D
  9. 9 ZFJKTW 59 D
  10. 1 KBKVMELHCIFEWFI 42 D
  11. 5 DUEEXRBJJI 5 E
  12. 8 TEEGBSRVHASOTBHN 30 E
  13. 7 UAMTSMFDE 2 E
  14. 13 YUNHCQSBVPQ 27 E
  15. 14 VIDHHKOAWOTQXRBSI 14 E
  16.  
  17. ID NAME SCORE G
  18. ---------- -------------------- ---------- -
  19. 4 KBJWREHVF 8 E
  20. 15 RMWEROFCFEVVFRU 14 E
  21. 6 QLLJNGXVFR 2 E
  22. 12 WNMWJP 30 E
  23.  
  24. 已选择15行。

表及充值语句如下:

  1. CREATE TABLE tb_score01
  2. (
  3. id NUMBER not null primary key,
  4. name varchar2(20),
  5. score int
  6. )
  7.  
  8. Insert into tb_score01
  9. select rownum,dbms_random.string('*',dbms_random.value(6,20)),dbms_random.value(0,100) from dual
  10. connect by level<=15
  11. order by dbms_random.random

2020-01-27

[Oracle/Sql] Decode与Case的更多相关文章

  1. oracle中DECODE与CASE的用法区别

    对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...

  2. Oracle sql语句中不支持boolean类型(decode&case)

    [转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...

  3. Oracle decode和case的区别

    case在SQL中有两种写法,先建立一个表create table salgrade(grade int, sal int);insert into salgrade values(1,1000);i ...

  4. Oracle SQL tuning 步骤

    Oracle SQL tuning 步骤 SQL是的全称是Structured Query Language(结构化查询语言).SQL是一个在80年代中期被使用的工业标准数据库查询语言.不要把SQL语 ...

  5. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

  6. Oracle SQL优化[转]

    Oracle SQL优化 1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化 ...

  7. SQL Fundamentals || Oracle SQL语言

    对于SQL语言,有两个组成部分: DML(data manipulation language) 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据 ...

  8. 《精通Oracle SQL(第2版) 》

    <精通Oracle SQL(第2版) > 基本信息 作者: (美)Karen Morton    Kerry Osborne    Robyn Sands    Riyaj Shamsud ...

  9. DB2、ORACLE SQL写法的主要区别

    DB2.ORACLE SQL写法的主要区别   说实话,ORACLE把国内的程序员惯坏了,代码中的SQL充斥着大量ORACLE特性,几乎没人知道ANSI的标准SQL是什么样子,导致程序脱离了ORACL ...

随机推荐

  1. Java基础—封装

    封装是面向对象的核心特征之一,它提供了一种信息隐藏技术.类的包装包含两层含义:一是将数据和对数据的操作组合起来构成类,类是一个不可分割的独立单位:二是类中既要提供与外部联系的接口,又要尽可能隐藏类的实 ...

  2. Java Filter过滤器(拦截路径的配置+拦截方式的配置+生命周期+多个过滤器的先后执行顺序)

    Java Filter过滤器+Listen监听器 啥是过滤器 顾名思义即过滤掉一些东西,比如我们经历的高考中考都是过滤器,他过滤掉一些在学习这一方面不是很好的人,而那些成绩好的人则升入高中,大学. 但 ...

  3. 2020-06-01:百万级int数据量的一个array求和。

    福哥答案2020-06-01: fork/join. 对于百万级长度的数组求和,单线程和多线程下区别不大.对于千万级长度的数组求和,多线程明显变快,大概是单线程的2-3倍. go语言测试代码如下: p ...

  4. 【SDOI2009】 HH的项链 - 莫队

    题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链变得越来越长. ...

  5. 【数论】莫比乌斯反演Mobius inversion

    本文同步发布于作业部落,若想体验更佳,请点此查看原文.//博客园就是渣,连最基本的符号都打不出来.

  6. SpringCloudAlibaba-服务网关Gateway

    一:网关简介 在微服务架构中,一个系统会被拆分为很多个微服务.那么作为客户端要如何去调用这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用.这样的话会产生很多问 ...

  7. python基础 Day9

    python Day9 函数的初识 #代码的可读性较好 s=[1,2,3,4,5,5] def list_len(S): count=0 for i in s: count+=1 print(coun ...

  8. 第2章 Hive安装

    第2章 Hive安装 2.1 Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/conflue ...

  9. 蒲公英 · JELLY技术周刊 Vol.19 从零开始的 Cloud IDE 开发

    蒲公英 · JELLY技术周刊 Vol.19 你是否也会有想法去开发一个自己的 IDE 却苦于时间和精力不足,完成 Desktop IDE 却又被 Cloud IDE 的概念追在身后难以入睡,这样的两 ...

  10. js对象数组新增、修改时的验证是否重复的逻辑

    JS代码: // 定义数据集合 const persons = [ { id: 1, name: '张三' }, { id: 2, name: '李四' } ] console.log('') con ...