赞
踩
参考: Hive常用函数总结
select regexp_replace('\n123\n','\n','');
select translate("MOBIN","BIN","M");
-- MOM
select find_in_set('aa','aa,bb,cc');
-- 1
select find_in_set('aa','bb,cc');
-- 0
或
select instr('aba', 'b');
-- 2
locate(string substr, string str[, int pos])
select substr('abcde',3);
-- cde
select substr('abcde',0);
-- abcde
select substr('abcde',1);
-- abcde
select substr('abcde',-1);
-- e
select substr('abcde',-2);
-- de
-- 截取除后两位之外的子串
select substr('abcde--',1,length('abcde--')-2);
-- abcde
substring_index(string A, string delim, int count)
select datediff('2021-06-04', '2021-06-01');
-- 3
select date_add('2021-07-10',10);
-- 2021-07-20
select date_sub('2021-07-10',-10);
select current_date;
pmod(int a, int b)
pmod(double a, double b)
-- 选取uid倒数第二位数字是偶数的数据
select *
from zz.table_name
where pmod(int(substr(uid,-2,1)),2)=0
array_contains(businesstype, 'SDK')
if(ARRAY_CONTAINS(split(event_type, ','), '2'),1,0)
sort_array(array(a.cnt1,a.cnt2,a.cnt3))[2]
sort_array(array(3,10,null))[2]
-- 将数组里面的数组元素进行升序排序,下标为2表示取由小到大的第三个元素。
或
select greatest(10,null,1);
-- 最小值
select least(-1, 0, 5, 8)
-- -1
select size(array(3,10,null));
-- 3
str_to_map(字符串参数, 分隔符1, 分隔符2)
分隔符1将文本分成K-V对,分隔符2分割每个K-V对。对于分隔符1默认分隔符是 ‘,’,对于分隔符2默认分隔符是 ‘=’。
在table表中主键是dt+uid被储存的值是客户的状态。
现需要对客户状态进行统计。
select str_to_map(concat_ws(',',collect_set(concat(dt,':',label))),',',':')
from table
group by uid;
-- select str_to_map(concat_ws(',',collect_set(concat('khj',':','22'))),',',':')['khj'];
select avg(a.fuid_cnt) ;
select percentile(cast(a.chat_7d_cnt as int),0.5) as chat_7d_cnt_avg;
select percentile_approx(cast(a.total_7d_minutes as double),0.5) as total_7d_minutes_avg;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。