CASE函数
Posted 坚持
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CASE函数相关的知识,希望对你有一定的参考价值。
作用:
- 可以将查询结果集的某一列的字段值进行替换
- 它可以生成一个新列
- 相当于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函数的主要内容,如果未能解决你的问题,请参考以下文章