SQL case when then用法

  1. 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搜索函数,比较常用
  • 创建一张info表,其中包含id,name,tag三个字段
Sql> create table info(id int,name varchar(20),tag character(1));
Sql> insert into info(1,'Alice','2');
Sql> insert into info(2,'Jack','1');
Sql> insert into info(3,'Mary','0');
select id,name,(case tag  when '1' then '男' when '2' then '女' else '未知' end ) sex from info;
                                  id   name   sex
                                   1   Alice   女
                                   2   Jack    男
                                   3   Mary   未知
  1. 例如SQL中常用到的case when 场景
case when value_tag='y' then '是' else '否' end value_tag --如果tag是'y'则返回'是',否则返回'否' 
--如果两个值还可以用if表达式(mysql、impala数据库可用)
if(value_tag='y','是' ,'否') as value_tag
case when id between '0' and '99' then id else '-9' end --如果ID在0到99之间则直接返回ID值否则返回代码'-9'
case when value_amt  < 10000 then '101'
     when value_amt between 10000 and 30000 then '102' 
	 when value_amt > 30000 then '103'  else '-1' end val_type --如果value_amt在10000以下返回val_type'101',10000与30000之间返回'102',大于30000 返回'103'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值