1、判断一个字段是否只包含数字和小数点:
select length(concat_ws('',split('asv1.2.3--','[0-9|.]')))>0;
2、提取/匹配/替换字符串中的中文:
select regexp_extract('Skin 伊思','[\\u4E00-\\u9FFF]+',0) ;
select regexp('Skin 伊思','[\\u4E00-\\u9FFF]+');
select regexp_replace('Skin 123一','[\\u4E00-\\u9FFF]+','aaa');
3、Hive不能使用
count(distinct roleid) over(distribute by login_mac rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
。
可用以下方法代替:
size(collect_set(roleid) over(distribute by login_mac rows BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING))
或者可以使用 lag() over() 实现。
4、
取上一个周四:
强:select date_sub('2020-06-18',cast(ceil((dayofweek('2020-06-18')+2)%7.5) as int));
弱:select date_sub('2020-06-18