关于Hive常用的条件处理函数:
函数 | 参数格式 | 解释 |
---|---|---|
if | if(boolean testCondition, T valueTrue, T valueFalseOrNull) | 如果testCondition为True则返回valueTrue,否则返回valueFalse,没有指定valueFals则返回null |
isnull | isnull( a ) | 如果字段a值的值为null则返回True,否则返回False |
isnotnull | isnotnull( a ) | 如果字段a值的值不为null则返回True,否则返回False |
nvl | nvl(T value, T default_value) | 当value不为null时返回value,否则返回default_value |
COALESCE | COALESCE(T v1, T v2, …) | 返回传入字段值中第一个不为null的值,若所有值都为null则返回null |
CASE … WHEN … THEN … WHEN … THEN … ELSE … END | CASE a WHEN b THEN c WHEN d THEN e ELSE f END | 当a=b时返回c,a=d时返回e,其他情况返回f |
nullif | nullif( a, b ) | 如果a=b,返回null,否则返回a |
assert_true | assert_true(boolean condition) | 断言判断条件condition是否为True。如果为True,返回null。如果为False,抛出异常 |