impala中的条件判断

coalesce(x,y,z,..)

返回输入参数中的第一个非空值,如果所有输入参数均为NULL,则返回NULL

——————————————————————————————————

if(boolean表达式真时返回值, 假或null时候的返回值)

根据一个表达式的结果为TRUE、 FALSE、NULL,来返回相应的结果值。返回类型与输入参数类型相同。

_________________________________________

(5)isnull(X, Y) 等价与ifnull(X,Y)如果表达式的结果非空,则返回X取值。如果表达式的结果为NULL,则返回第二参数Y值。与 Oracle中的NVL(X,Y)和MySQL中的ifnull(X,Y)用法相同

 

特殊语句

(7)nullif(expr, expr2)这个函数表示如果两个表达式相等,则返回NULL。如果两个表达式不相等,则返回第一表达式的值。两个表达式的数据类型必须保持兼容。另外,第一个表达式不能为NULL,如果它为NUL,将永远不会与第二个表达式进行匹配。

该函数通常被使用在除法表达式中来防止被除数为零的情况。例如select 1.0 /nullif(expr,0) as rate from table_xxxxx 

(8) nullifzero(numeric expr)如果表达式为0,则返回NULL;如果表达式为非零,则返回表达式本身。返回类型与原始的返回值类型相同。返回值若是整型会被提升为 BIGINT型,若是 FLOAT型会被提升为 DOUBLE型。如果对应的列不允许像BIGINT或者 DOUBLE这样的高精度的类型,需要使用 CAST()函数进行强制类型转换。 

 

————————————————————————————————————————

NVL(X,Y) 当X IS NOT NULL则返回X 取值,否则返回Y取值

——————————————————————————————————————————

zeroifnull(numeric expr如果表达式为NULL,则返回0,如果表达式为非NULL,则返回表达式本身

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值