SQL中的decode及case when的用法

作者: cccchaos | 来源:发表于2015-06-29 09:45 被阅读376次

在写 sql的时候我们会经常使用到decode函数,今天我们来讲一些decode的基本用法吧。

表达式:decode(列名,值1,值11,值2,值22,值3,值33......,值X)

表达式的意思:

       文字描述:如果列名对应的值等于值1,那么他的值就等于值11,如果列名对应的值是值2那么他的值就是值22,如果列名对应的值是值3那么他的值就是值33等等,条件都不满足,列名的值就是值X

       用java的语法来表达就是:

      if(列名的值==值1){  列名的值=值11      }

      else if(列名的值==值2){  列名的值=值22}

      else if(列名的值==值3){  列名的值=值33}

      。。。。。。。

      else{ 列名的值=值X}

     其实在sql中还有一种方法表达的来表达if else的判断语句,那就是 case when语句,但是case when 有两种表方式.

    用case when 来表达上面的语句:

表达方式一:

    case 列名 when 值1 then 值11

                   when 值2 then 值22

                   when 值3 then 值33

                  。。。。。。。

                  else

                  值X

      end

表达方式二:

case when 列名==值1 then 值11

when 列名==值2 then 值22

when 列名==值3 then 值33

。。。。。。。

else

值X

end

最后提一点一定要注意的是:

不管是case when 还是 decode 他们的值11,值22,值33  必须是同一种类型。

decode(列名,值1,varchar2,值2,varchar2,值3,varchar2......,varchar2)

decode(列名,值1,number,值2,number,值3,number......,number)

如果不一样那就会报错

无效数字

ps:如果对你们有帮助请点击下面的喜欢,谢谢

相关文章

  • SQL中的decode及case when的用法

    在写 sql的时候我们会经常使用到decode函数,今天我们来讲一些decode的基本用法吧。 表达式:decod...

  • SQL的case when 用法

    Case具有两种格式。简单Case函数和Case搜索函数。 这两种方式,可以实现相同的功能。简单Case函数的写法...

  • 不常见的sql

    不常见的sql 一条sql执行多个update 一条sql执行多个update CASE WHEN用法

  • 2018-11-13sql的查询判断

    我们在sql中的 case when 里面可以叠加相同的语句, case when 条件 then case wh...

  • SQL中的case when then else end用法

    Case具有两种格式。简单Case函数和Case搜索函数。 这两种方式,可以实现相同的功能。简单Case函数的写法...

  • SQL之case when then用法

    case具有两种格式。简单case函数和case搜索函数。 场景1:现老师要统计班中,有多少男同学,多少女同学,并...

  • 【32】SQL Case When用法

    简介 case when sql中计算条件列表,并返回多个可能的结果表达式之一。CASE 表达式有两种格式:1、C...

  • SQL之case when then用法

    case具有两种格式。简单case函数和case搜索函数。 1.简单case函数 2.case搜索函数 注意: c...

  • mysql 流程控制语句 笔记!

    一般查询用法: 批量更新用法: case when: case null when 表达式 then 执行...

  • BI-SQL丨CASE WHEN

    CASE WHEN CASE WHEN是SQL中特有的查询关键字,这个组合在PowerBI中是没有的。 白茶在之前...

网友评论

    本文标题:SQL中的decode及case when的用法

    本文链接:https://www.haomeiwen.com/subject/gxbeqttx.html