本文基于impala3.2版本,所有的内置条件函数;
序号 | 语法类型/方法名称 | 输出类型 | 使用说明 |
---|---|---|---|
1 | isfalse (boolean expression) | boolean | expression为false返回true,为true返回false |
2 | istrue (boolean expression) | boolean | expression为true返回true,为false返回false |
3 | isnotfalse (boolean expression) | boolean | expression为true返回true,为false返回false |
4 | isnottrue (boolean expression) | boolean | expression为false返回true,为true返回false |
5 | nonnullvalue (type expression) | boolean | expression为null返回false,否则返回true |
6 | nullvalue (type expression) | boolean | expression为null返回true,否则返回false |
7 | nullif (type a, type b) | 和参数一致 | a 等于 b 则返回null, 否则返回 a |
8 | nullifzero (type expr) | 和参数一致 | expr为0的话返回null,否则返回expr |
9 | zeroifnull (type expr) | 和参数一致 | expr为null的话返回0,否则返回expr |
10 | case a when b then c [when d then e…] [else f] end | 和参数一致 | 根据a值返回不同的匹配结果,都不匹配返回f |
11 | case when a then b [when c then d…] [else f] end | 和参数一致 | 根据a值返回不同的匹配结果,都不匹配返回f |
12 | coalesce(type v1, type v2, …) | 和参数一致 | 得到第一个不是null的值 |
13 | decode(type exp, type s1, type r1 …type default ) | 和参数一致 | exp匹配s返回对应r,否则返回default |
14 | isnull (type a , type ifnull) | 和参数一致 | 如果第一个参数为null,则返回第二个参数 |
15 | ifnull (type a , type ifnull) | 和参数一致 | 如果第一个参数为null,则返回第二个参数 |
16 | nvl (type a , type b) | 和参数一致 | 如果 a 为 null 则返回 b, 否则返回 a |
17 | nvl2(type a, type b, type c) | 和参数一致 | 如果a不是null则返回b, 否则返回c |
18 | if (boolean condition , type a, type b) | 和参数一致 | 表达式如果为true返回a, 否则返回b |
示例如下:
--使用示例 | 对应输出 | 对应函数序号
isfalse(1>2) true 1
istrue(1>2) false 2
isnotfalse(1>2) false 3
isnottrue(1>2) true 4
nonnullvalue(null) false 5
nullvalue(null) true 6
nullif(1,1) null 7
nullifzero(0) null 8
zeroifnull(null) 0 9
case 1 when 2 then 'a' when 3 then 'b'
else 'c' end c 10
case when 1>2 then 'a' when 2>3 then 'b'
else 'c' end c 11
coalesce(null,null,1) 1 12
decode(1,2,'a',3,'b','c') c 13
isnull(null,1) 1 14
ifnull(null,1) 1 15
nvl(null,1) 1 16
nvl2(null,null,1) 1 17
if(1>2,1,2) 2 18
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_43140586/article/details/115007596
内容来源于网络,如有侵权,请联系作者删除!