`
speed_guo
  • 浏览: 311015 次
  • 性别: Icon_minigender_1
  • 来自: 湖北
社区版块
存档分类
最新评论

case when else 介绍

阅读更多

两种语法模式:

第一种:只有一个分支

CASE
WHEN   条件  THEN   结果1
ELSE     结果2
END

 

第二种:支持多种分支

CASE     表达式1
WHEN    表达式2   THEN   结果1
ELSE      结果2
END
上面的WHEN可以重复多次

 

 

简单示例:

第一种

(1)

select
case when 1 = 1 then 1 else 2 end;

(2)

select id,className,(case when sex='男' then numCount else 0  end) as num1,
(case when sex='女' then numCount else 0  end) as num2 from classes

 

numCount 为班级人数字段

(3)

select  f_dpId,  f_sptId, sum(case when f_warnState=1 then 1 else 0 end) as f_num1,
 sum(case when f_warnState=2 then 1 else 0 end) as f_num2,
 sum(case when f_warnState=3 then 1 else 0 end) as f_num3, 
 sum(case when f_warnState=4 then 1 else 0 end) as f_num4
 from Test01

where f_valid=1
group by f_dpId,f_sptId

 

(4)
select case 2

when 1 then 1
when 2 then 2
when 3 then 3
else 4
end;

 

第二种

(5)

获取月份的名字

SELECT ORDNO,CUSNO,
CASE MONTH(SHIPDATE)
WHEN '01' THEN 'Jan'
WHEN '02' THEN 'Feb'
WHEN '03' THEN 'Mar'
WHEN '04' THEN 'Apr'
WHEN '05' THEN 'May'
WHEN '06' THEN 'Jun'
WHEN '07' THEN 'Jul'
WHEN '08' THEN 'Aug'
WHEN '09' THEN 'Sep'
WHEN '10' THEN 'Oct'
WHEN '11' THEN 'Nov'
WHEN '12' THEN 'Dec'
END
FROM FILE

=================================================================

CASE很好用,不仅SELECT可以用,UPATE里面也蛮灵

UPDATE properities
SET taxrate=
CASE
WHEN area<10000 THEN 0.05
WHEN area<20000 THEN 0.07
ELSE 0.09
END

0
1
分享到:
评论

相关推荐

    case when和sum case when 写法及拼接字段

    1 case when 写法 2 sum case when 用法 3 select 拼接字段 示例如下: when 2 then 'C' else 'D' end ) as '类型',count(*) as '数量' from table group by orderType

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End!值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

    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’ ...

    case when then语句用法

    该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...

    sql学习之CASE WHEN THEN ELSE END的用法

    主要介绍了sql学习之CASE WHEN THEN ELSE END的用法,需要的朋友可以参考下

    Oracle_case_when_用法

    详细讲解了case、when的用法.ASE表达式可以在SQL中实现if-then-else型的逻辑,而不必使用PL/SQL。CASE的工作方式与DECODE()类似,但应该使用CASE,因为它与ANSI兼容。

    MySQL 的CASE WHEN 语句使用说明

    mysql数据库中CASE WHEN语句。 case when语句,用于计算条件...语法简单 CASE 函数: 代码如下:CASE input_expression WHEN when_expression THEN result_expression [ …n ] [ ELSE else_result_expression END

    mysql case when group by 实例详解

    mysql 中类似php switch case 的语句。 select xx字段, case 字段 when 条件1 then 值1  when 条件2 then 值2 else 其他值 END 别名  ...使用case when : select sum(redpackmoney) as stota, (CASE i

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    sql 中 case when 语法使用方法

    例如,下面的语句显示中文年月 代码如下: select getdate() as 日期,case month(getdate()) when 11 then ‘十一’ when 12 then ‘十二’ else substring(‘一二三四五六七八九十’, month(getdate()),1) end+’月...

    mysql存储过程之case语句用法实例详解

    本文实例讲述了mysql存储过程之case语句用法。分享给大家供大家参考,具体如下: 除了if语句,mysql提供... ELSE commands END CASE; 我们可以使用简单CASE语句来检查表达式的值与一组唯一值的匹配,上述sql中,case_e

    2012 SQL常用操作

    ,100 * SUM(CASE WHEN C# = '001' AND score &gt;= 60 THEN 1 ELSE 0 END)/SUM(CASE WHEN C# = '001' THEN 1 ELSE 0 END) AS 企业管理及格百分数 ,SUM(CASE WHEN C# = '002' THEN score ELSE 0 END)/SUM(CASE C# ...

    MySQL数据库:流程控制语句case.pptx

    case_value是要被判断的值或表达式,接下来是一系列的WHEN-THEN块,每一块的when_value参数指定要与case_value比较的值,如果为真,就执行statement_list中的SQL语句。如果前面的每一个块都不匹配就会执行ELSE块指定...

    关于case when语句的报错问题详解

    SQL CASE 表达式是一种通用的条件表达式,类似于其它语言中的 if/else 语句,下面这篇文章主要给大家介绍了关于case when语句的报错问题的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

    SQL集合函数中case when then 使用技巧

    我们都知道SQL中适用case when then来转化数据库中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo

    浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用

    SQL语句行列转换的两种方法 case...when和pivot函数应用,运用pivot 函数只支持数据库版本2005以上的。一般运用case when else end 的方法比较多,比较普遍

    用于生成数据字典的SQL语句

    CASE WHEN a.colorder = 1 THEN d.name ELSE '' END AS 表名, CASE WHEN a.colorder = 1 THEN isnull(f.value, '') ELSE '' END AS 表说明, a.colorder AS 字段序号, a.name AS 字段名, CASE WHEN COLUMNPROPERTY...

    sqlserver中Case的使用方法(上下篇)第1/2页

    代码如下: –简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASE WHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ THEN ‘女’ ELSE ‘其他’ END 这两种...

    ORACLE多条件统计查询的简单方法

    然后有一种语法让我眼前一亮,case when then else end 当满足CASE设定的条件时,就可以执行then语句。由于我要做的分组查询统计,是要罗列每一种情况,而且根据输入的“管理员编号”不同返回不同结果,结果记录的...

Global site tag (gtag.js) - Google Analytics