在练习case when 语句时,碰到一个例子,结果答案根本就不对,语法就通不过,开始想着是不是case 只能是一个固定的取值,毕竟例子内给的都是case是个固定的值,后来网上查了好久才发现还有区间的用法,下面附带例子

背景是Scott用户下面的EMP表(oracle创建时默认自带的)

算出每个部门,每个职位的平均工资和平均奖金(平均值包括没有奖金)如果平均奖金大于300,显示'奖金不错',如果平均奖金100到300,显示'奖金一般',如果平均奖金小于100,显示“基本没有奖金”,按部门编号降序,平均工资降序排列
select deptno,job,avg(sal)平均工资,avg(nvl(comm,0))平均奖金,case when avg(nvl(comm,0))>=300 then '奖金不错' avg(nvl(comm,0))>100 and avg(nvl(comm,0))<300 then '奖金一般' else '基本没有奖金' end 奖金状况 from emp group by deptno,job order by deptno desc, avg(sal) desc;
 
 即case的前后不需要带参数,在when内将参数带入即可
 
 
 
 
 
 
 
 
 

oracle:case when 语句的区间用法的更多相关文章

  1. oracle case when及decode的用法

    case ... when 语句 1) CASE column_name WHEN value1 THEN resutl1,... [ ELSE result ] END select name , ...

  2. oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 复制代码代码如下: --简单Case函数  CASE sex  WHEN '1' THEN '男'  WHEN '2' THEN '女'  ELSE '其他 ...

  3. oracle case when 语句

    原文:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html CASE WHEN 表达式有两种形式 简单Case函数 CASE ...

  4. Oracle层级询语句connect by 用法详解

    如果表中包含层级数据,那么你就可以使用层级查询从句选择行层级顺序. 1.层级查询从句语法 层级查询从句语法: { CONNECT BY [ NOCYCLE ] condition [AND condi ...

  5. 关于Switch case条件语句中无break的用法

    关于Switch case条件语句的另类用法       今天在拜读一位前辈的程序时,遇到了这样一段程序: /***************************/ switch(operation ...

  6. Oracle CASE WHEN 用法介绍[Z]

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  7. 问题:oracle case when;结果:Oracle CASE WHEN 用法介绍

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  8. Linux之shell脚本for、while、case语句的高级用法

    1.case语句的用法: [root@ELK-chaofeng test]# cat test3.sh #!/bin/bash while true ;do read -p "please ...

  9. oracle case where 复杂sql语句

    update hr_user u set u.is_approve=(case when u.curr_org_id in (select t.org_id from hr_organization ...

随机推荐

  1. python 代码片段18

    #coding=utf-8 f=open('text.txt','w') f.write('foo\n') f.write('bar\n') f.close() f=open('test.txt',' ...

  2. BZOJ4631 : 踩气球

    将所有盒子插入链表,每当一个盒子变空时,从链表里删去它. 查一下它的前驱后继$pre,nxt$,那么$[pre+1,nxt-1]$都是空的. 每次对于$[A,B]$这段都为空,对小朋友按$R$维护线段 ...

  3. 一些有用的HTML5 pattern属性

    最近在做手机页面时,遇到数字输入的键盘的问题,之前的做法只是一刀切的使用 type="tel",不过一直觉得九宫格的电话号码键盘上的英文字母太碍事了.于是想要尝试其它的实现方案,最 ...

  4. Codeforce - Runtime Error

    Bahosain was trying to solve this simple problem, but he got a Runtime Error on one of the test case ...

  5. UVA 11461 - Square Numbers(水题)

    题目链接 #include <cstdio> #include <cstring> #include <string> #include <cmath> ...

  6. NOI模拟赛Day4

    看到成绩的时候我的内心** woc第一题写错了呵呵呵呵呵呵呵呵 人不能太浪,会遭报应的** ------------------------------------------------------ ...

  7. Js C# 实现跨域访问数据

    使用项目一的js调用项目二的数据 1.项目一 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta ...

  8. LVS + KEEPAlived 配置 DIR模式

    1 .1 Lvs LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目 ...

  9. 《自制编程语言》笔记:使用yacc与lex制作简单计算器

    1.代码 1.1)test.l 1.2)test.y 1.3)Makefile (因为是在linux环境下,所以使用了Makefile) 2.编译与运行 2.1)编译 2.2)运行 1.代码(也可以在 ...

  10. uboot中添加FIQ中断及相关问题

    本文主要说明了在uboot中添加FIQ中断时遇到的问题以及对应的解决办法. 首先交代一下项目的软硬件环境.硬件方面,使用s3c2440作为主控芯片,外接串口.网卡等设备.软件方面,主控芯片上电后运行u ...