网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

如何正确使用casewhen表达式和decode函数?

    相信很多小伙伴在开发过程中都有用到case when表达式和decode函数,那么会不会有小伙伴和我一样刚开始有很多疑虑,什么情况下用case when,什么情况下用decode呢?两者有什么区别呢?今天小编就带大家细分一下两者的区别:

    case when表达式不仅可以等值连接还可以范围判断;decode函数可以等值连接。

    这样说大家可能不能理解,举个例子吧,如下;
    创建一张表tmp1,列为dept表示部门信息,分别有10,20,30,40,50部门:

如何正确使用case when表达式 和 decode函数?

创新互联主要从事成都网站制作、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务来凤,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

    用case when表达式判断,如果部门信息为10,则判断为A,部门信息为20,则判断为B,其他部门信息判断为C:
    select case when dept = 10 then 'A'
                      when  dept = 20 then 'B'
                      else 'C'
    from tmp1;
    或者:
    select case  dept  when  10 then 'A'
                        when  20 then 'B'
                        else 'C'
    from tmp1;
    用decode函数判断,如果部门信息为10,则判断为A,部门信息为20,则判断为B,其他部门信息判断为C:
    select decode(dept,10,'A',20,'B','C') from tmp1;

    而如果想判断部门信息为10或20时,判断为'A',部门信息为30或40时,判断为'B',其他则判断为'C'。这时只能用case when表达式:
    select  case when dept between 10 and 20 then 'A'
                            when dept between 30 and 40 then 'B'
                            else 'C'
                            end 
    from tmp1;

 注:这时sql不能再写为
    select  case dept when between 10 and 20 then 'A'
                            when between 30 and 40 then 'B'
                            else 'C'
                            end 
    from tmp1;
    这时会报错:  ORA-00936:缺失表达式

本篇文章已经结束了,你学会了吗?如若还有疑问,可留言给小编,看到必回复!

网站名称:如何正确使用casewhen表达式和decode函数?
标题路径:http://bjjierui.cn/article/ieojpg.html

其他资讯