CASE函数

Posted 坚持

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CASE函数相关的知识,希望对你有一定的参考价值。

 

作用:

  1. 可以将查询结果集的某一列的字段值进行替换
  2. 它可以生成一个新列
  3. 相当于switch...case和 if..else

 

使用语法:

case 表达式/字段

         when 值 then 自定义值

         else

end as 别名

 

when 值 then:可以理解为当某个字段为某个值的时候,然后就返回自定义值将结果集的字段值进行替换

else:如果上面的when都不满足就执行else结果

 

 


 

 

常用用法一(case后面有字段或者表达式)

when关键字后面写固定值

 

case关键字后面如果有字段或者表达式,那么这种结构只能做等值判断,等值的意思是when关键字后面写了固定的值

示例图解:

技术分享

 

注意:该方式不能用于判断null

技术分享

 

 


 

 

常用方式二(case关键字后面没有字段或表达式)

when关键字后面写条件表达式

 

思考:

现在有个需求说,要求年龄字段这个人满足18岁或者年龄在某个范围,那么如果用上面说的等值判断,无法满足,因为字段要匹配的是一个范围

 

如果case关键字后面没有写字段或表达式,那么结构就相当于 if..elseif...else可以做范围判断,它可以使用null值判断

 

 

实例图解:

技术分享

 


注意:

then 后面的值的类型 要与当前case范围内的保持一致

技术分享

 

以上是关于CASE函数的主要内容,如果未能解决你的问题,请参考以下文章

Sql函数笔记case when

R语言case_when函数和cases函数实战

case 函数语法与使用

oracle case when

shell脚本—— case语句+函数

case 函数语法与使用