oracle case when 的用法 和 类似的用法 就是 如果A字段不为空 就用A字段;如果为空就用B字段

ID    REALNAME SEX
  1  10082 松XX
  2  10084 林XX     1
  3  10087 西XX
  4  10100 胡XX
  5  10102 龙XX     1

用法============

select u.id,u.realname,
( case u.sex
when 1 then ‘男‘
when 2 then
‘女‘
else ‘空的‘
END
) 性别
from users u;

====

第二种情况   如果A字段不为空 就用A字段;如果为空就用B字段

select t.epvd_name , t.FF , count(t.epod_id) from (
 select epv.epvd_name ,CASE  WHEN to_char(epod.epod_create_time,‘yyyyMM‘) is NULL THEN to_char(epod.epod_update_time,‘yyyyMM‘) ELSE to_char(epod.epod_create_time,‘yyyyMM‘) END FF , epod.epod_id
  from ep_order_detail epod
  left join ep_vendor epv on epv.epvd_id = epod.vendor_id
 where epod.epod_status > 0
 and epv.epvd_status=1) t
 
 group by  t.epvd_name ,t.FF
 order by t.FF

注意:起的别名 不能用于本次排序;

时间: 2024-10-11 01:01:36

oracle case when 的用法 和 类似的用法 就是 如果A字段不为空 就用A字段;如果为空就用B字段的相关文章

Oracle CASE WHEN 用法介绍

Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT gra

Oracle CASE WHEN

Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT gra

Oracle Case When的妙用

Case when 的用法 --简单Case函数 简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN ELSE default_result --搜索CASE表达式 使用条件确定返回值. 语法: CASE WHEN condition1 THEN result1 W

Oracle中start with...connect by子句的用法

connect by 是结构化查询中用到的,其基本语法是:select - from tablename start with 条件1connect by 条件2where 条件3;例:select * from tablestart with org_id = 'HBHqfWGWPy'connect by prior org_id = parent_id; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:org_id,parent_id那么通过表示每一条记录的parent是谁

Oracle中INSTR、SUBSTR和NVL的用法

Oracle中INSTR.SUBSTR和NVL的用法 INSTR用法:INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 默认查找顺序为从左到右.当起始位置为负数的时候,从右边开始查找.若起始位置为0,返回值为0. SELECT INSTR('CORPORATE FLOOR', 'OR', 0, 1) FROM DUAL; 返回值为0 SELECT INSTR('CORPORATE FLOOR', 'OR', 2, 1)

ORACLE CASE WHEN 及 SELECT CASE WHEN的使用方法

CASE 语句 CASE selector   WHEN value1 THEN action1;   WHEN value2 THEN action2;   WHEN value3 THEN action3;   …..   ELSE actionN;END CASE; CASE表达式 DECLARE   temp VARCHAR2(10);   v_num number;BEGIN   v_num := &i;   temp := CASE v_num     WHEN 0 THEN 'Ze

结构体定义 typedef struct 用法详解和用法小结

typedef是类型定义的意思.typedef struct 是为了使用这个结构体方便.具体区别在于:若struct node {}这样来定义结构体的话.在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; .在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去struct这个关键字. 第三篇:struct和typedef struct 分三块来讲述:1 首先:在C中定义一个结构体

oracle:case when 语句的区间用法

在练习case when 语句时,碰到一个例子,结果答案根本就不对,语法就通不过,开始想着是不是case 只能是一个固定的取值,毕竟例子内给的都是case是个固定的值,后来网上查了好久才发现还有区间的用法,下面附带例子 背景是Scott用户下面的EMP表(oracle创建时默认自带的) 算出每个部门,每个职位的平均工资和平均奖金(平均值包括没有奖金)如果平均奖金大于300,显示'奖金不错',如果平均奖金100到300,显示'奖金一般',如果平均奖金小于100,显示“基本没有奖金”,按部门编号降序

ORACLE CASE WHEN 及 SELECT CASE WHEN的用法

Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能.简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式. 还有一个需要