hive必背函数

数字函数:

round

round(DOUBLE a) 返回对a四舍五入的BIGINT值
在这里插入图片描述

round(DOUBLE a, INT d) 返回double型a保留d位小数(四舍五入)
在这里插入图片描述

floor

floor(DOUBLE a) 向下取整

在这里插入图片描述

ceil

ceil(DOUBLE a)/ceiling(DOUBLE a) 向上取最小整数

在这里插入图片描述

rand

rand() 返回一个0-1之间的随机数

在这里插入图片描述

exp

exp(DOUBLE a) 返回e的a次方幂 a可以是小数

在这里插入图片描述

pow

pow(DOUBLE a, DOUBLE p) 计算a的p次方

在这里插入图片描述

sqrt

sqrt(DOUBLE a) 计算a的平方根

在这里插入图片描述

abs

abs(DOUBLE a) 计算a的绝对值

在这里插入图片描述

pmod

pmod(INT a, INT b), a对b取模

在这里插入图片描述

negative

negative(INT a),返回a的相反数

在这里插入图片描述

sign

sign(DOUBLE a), 如果a是正数则返回1.0,是负数则返回-1.0,否则返回0.0

在这里插入图片描述

greatest

greatest(int a , int b , …) 返回最大值

在这里插入图片描述

least

least(int a , int b) 返回最小值

在这里插入图片描述

集合函数

size

size(Map<K.V>) 求map的长度
在这里插入图片描述

size(Array) 求数组长度

在这里插入图片描述

map_keys

map_keys(Map<K.V>) 返回map中的所有key

在这里插入图片描述

map_values

map_values(Map<K.V>) 返回map中的所有value

在这里插入图片描述

array_contains

array_contains(Array, value) 查找数组中是否含有value 有 返回true 否则false

在这里插入图片描述

sort_array

sort_array(Array) 按自然顺序对数组进行排序并返回

在这里插入图片描述

日期函数

unix_timestamp

unix_timestamp() 获取本地时区下的时间戳
在这里插入图片描述

unix_timestamp(string date) 将时间字符串转换为时间戳 (时间字符串要写到秒)

在这里插入图片描述

unix_timestamp(string date) 将指定时间字符串格式字符串转换成Unix时间戳,如果格式不对返回0
在这里插入图片描述

from_unixtime

from_unixtime(bigint unixtime[, string format]) 将时间戳转换成format格式
在这里插入图片描述

to_date

to_date(string timestamp) 返回时间字符串的日期部分

在这里插入图片描述

year

year(string date) 返回时间字符串的年份部分
在这里插入图片描述

month

month(string date) 返回时间字符串的月份部分
在这里插入图片描述

day

day(string date) 返回时间字符串的天

在这里插入图片描述

hour

hour(string date) 返回时间字符串的小时

在这里插入图片描述

minute

minute(string date) 返回时间字符串的分钟

在这里插入图片描述

second

second(string date) 返回时间字符串的秒
在这里插入图片描述

weekofyear

weekofyear(string date) 返回时间字符串位于一年中的第几个周内
在这里插入图片描述

datediff

datediff(string enddate, string startdate) 计算开始时间startdate到结束时间enddate相差的天数
在这里插入图片描述

date_add

date_add(string startdate, int days) 从开始时间startdate加上days

在这里插入图片描述

date_sub

date_sub(string startdate, int days) 从开始时间startdate减去days

在这里插入图片描述

current_date

current_date 返回当前时间日期(加不加括号都行)

在这里插入图片描述

current_timestamp

current_timestamp 返回当前时间
在这里插入图片描述

add_months

add_months(string start_date, int num_months) 返回当前时间下再增加num_months个月的日期

在这里插入图片描述

last_day

last_day(string date) 返回这个月的最后一天的日期

在这里插入图片描述

next_day

next_day(string start_date, string day_of_week) 返回当前时间的下一个星期X所对应的日期
在这里插入图片描述

trunc

trunc(string date, string format) 返回时间的最开始年份或月份
在这里插入图片描述

months_between

months_between(date1, date2) 返回date1与date2之间相差的月份,如date1>date2,则返回正,如果date1<date2,则返回负,否则返回0.0

在这里插入图片描述

date_format

date_format(date/timestamp/string ts, string fmt)
在这里插入图片描述

条件函数

if

if(boolean testCondition, T valueTrue, T valueFalseOrNull) 如果testCondition 为true就返回valueTrue,否则返回valueFalseOrNull
在这里插入图片描述

nvl

nvl(T value, T default_value) 如果value值为NULL就返回default_value,否则返回value

在这里插入图片描述

COALESCE

COALESCE(T v1, T v2, …) 返回第一非null的值,如果全部都为NULL就返回NULL
在这里插入图片描述

CASE

CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 如果a=b就返回c,a=d就返回e,否则返回f
在这里插入图片描述
在这里插入图片描述

CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END 如果a=ture就返回b,c= ture就返回d,否则返回e

在这里插入图片描述

isnull

isnull( a ) 如果a为null就返回true,否则返回false

在这里插入图片描述

isnotnull

isnotnull ( a ) 如果a为非null就返回true,否则返回false

在这里插入图片描述

字符函数

concat

concat(string|binary A, string|binary B…) 对二进制字节码或字符串按次序进行拼接
在这里插入图片描述

concat_ws

concat_ws(string SEP, string A, string B…) 与concat()类似,但使用指定的分隔符进行分隔
在这里插入图片描述
concat_ws(string SEP, array) 拼接Array中的元素并用指定分隔符进行分隔

在这里插入图片描述

find_in_set

find_in_set(string str, string strList) 返回以逗号分隔的字符串中str出现的位置,如果参数str为逗号或查找失败将返回0,如果任一参数为NULL将返回NULL

在这里插入图片描述

instr

instr(string str, string substr) 查找字符串str中子字符串substr出现的位置,如果查找失败将返回0,如果任一参数为Null将返回null,注意位置为从1开始的

在这里插入图片描述

length

length(string A) 返回字符串的长度

在这里插入图片描述

locate

locate(string substr, string str[, int pos]) 查找字符串str中的pos位置后字符串substr第一次出现的位置

在这里插入图片描述

lower

lower(string A)/ lcase(string A) 将字符串A的所有字母转换成小写字母
在这里插入图片描述

upper

upper(string A) 将字符串A的所有字母转换成大写字母

在这里插入图片描述

trim

trim() 去空格
在这里插入图片描述

split

split(string str,’’)用指定字符分割字符串返回数组

在这里插入图片描述

substring

substring(string str,int a,int b)截取字符串 从下边7开始截5个

在这里插入图片描述

regexp_replace

regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT) 按照Java正则表达式PATTERN将字符串INTIAL_STRING中符合条件的部分成REPLACEMENT所指定的字符串,如里REPLACEMENT这空的话,抽符合正则的部分将被去掉

在这里插入图片描述

repeat

repeat(string str, int n) 重复输出n次字符串str

在这里插入图片描述

reverse

reverse(string A) 反转字符串

在这里插入图片描述

str_to_map

str_to_map(text[, delimiter1, delimiter2]) 将字符串str按照指定分隔符转换成Map,第一个参数是需要转换字符串,第二个参数是键值对之间的分隔符,默认为逗号;第三个参数是键值之间的分隔符,默认为"="

在这里插入图片描述

聚合函数

count(*) 统计总行数,包括含有NULL值的行
sum(col) 表示求指定列的和
sum(DISTINCT col) 表示求去重后的列的和
avg(col), avg(DISTINCT col)
avg(col),表示求指定列的平均值,avg(DISTINCT col)表示求去重后的列的平均值
min(col) max(col) 求指定列的最小值/ 最大值
var_pop(col) 求指定列数值的方差

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值