hive常用函数

1.Hive

1.nvl函数

nvl函数:空值转换函数
函数形式:nvl(expr1,expr2),类似于mysql-nullif(expr1,expr2)
作用:将查询为Null值转换为指定值。
若expr1为Null,则返回expr2,否则返回expr1。
适用于数字型、字符型和日期型,但是expr1和expr2的数据类型必须为相同类型。
转载自
NVL函数
NVL函数的格式如下:NVL(expr1,expr2)
含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

2.NVL2函数

NVL2函数的格式如下:NVL2(expr1,expr2, expr3)
含义是:如果该函数的第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第三个参数的值。

3.NULLIF函数

NULLIF函数的格式如下:NULLIF(exp1,expr2)
含义是:如果exp1和exp2相等则返回空(NULL),否则返回第一个值。

4.Coalesce函数

格式如下:Coalesce(expr1, expr2, expr3…… exprn)
Coalese函数的作用是的NVL的函数有点相似,其优势是有更多的选项。表示可以指定多个表达式的占位符。所有表达式必须是相同类型,或者可以隐性转换为相同的类型。返回表达式中第一个非空表达式
1-4转载自:添加链接描述
COALESCE是一个函数, (expression_1, expression_2, …,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。使用COALESCE在于大部分包含空值的表达式最终将返回空值。

select coalesce(success_cnt,period,1) from tableA

当success_cnt不为null,那么无论period是否为null,都将返回success_cnt的真实值(因为success_cnt是第一个参数),当success_cnt为null,而period不为null的时候,返回period的真实值。只有当success_cnt和period均为null的时候,将返回1。
转载自

5.str_to_map(字符串参数, 分隔符1, 分隔符2)

使用两个分隔符将文本拆分为键值对。
分隔符1将文本分成K-V对,分隔符2分割每个K-V对。对于分隔符1默认分隔符是 ‘,’,对于分隔符2默认分隔符是 ‘=’。
例子:

  1. 创建map字段
DROP TABLE IF EXISTS tmp.tmp_str_to_map;
CREATE TABLE IF NOT 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值