今天来说一点常用的Hive的内置函数
**
字符函数
**
concat(字符串拼接):
对二进制字节码或字符串按次序进行拼接
instr:
查找字符串str中子字符串substr出现的位置
length(字符串长度,字符数):
返回字符串的长度
locate:
查找字符串str中的pos位置后字符串substr第一次出现的位置
regexp_replace:
按正则表达式PATTERN将字符串中符合条件的部分替换成REPLACEMENT所指定的字符串
split:
按照正则表达式pat来分割字符串str
upper(转大写):
lower(转小写):
substr:
对字符串A,从start位置开始截取长度为len的字符串并返回
trim:
将字符串A前后出现的空格去掉
str_to_map:
将字符串str按照指定分隔符转换成Map
encode:
用指定字符集charset将字符串编码成二进制值
reverse:
内容反转
regexp_extract:
字符串正则表达式解析函数。
repeat:
重复函数
format_number:
get_json_object:
用来解析json字符串的一个字段
lpad:
左填充
parse_url:
提取url网址和取值
sentences:
根据特殊符号分割单词数组
initcap:
首字母大写
round:
返回对a四舍五入的BIGINT值
保留几位小数
fkoor:
向上取整
ceil:
向下取整
rand:
产生伪随机数
pow:
计算a的p次幂
sqrt:
pmod:
取余
cast:
cast:转换数据类型
from_unixtime:
转日期格式
时间戳,毫秒数:
to_date:
当前时间
datediff:
计算开始时间到结束时间相差的天数
date_add:
从开始时间startdate加上days
date_sub:
从开始时间startdate减去days
current_date:
返回当前时间的日期
current_timestamp:
返回当前时间戳
add_month:
加月份
last_day:
本月最后一天
next_day:
从今天到下周是22号(例子)
trunc:
截取日期
month_between:
差多少月
data_format:
提取当前()
if:
nvl:
value为NULL返回default_value,否则返回value
COALESCE:
返回第一非null的值,如果全部都为NULL就返回NULL
后续还会更新哈