当前位置: 首页 > article >正文

hive—常用的函数整理

1、size(split(...))函数用于计算分割后字符串数组的长度

实例1):由客户编号列表计算客户编号个数

--数据准备
with tmp_test01 as (
select 'tag074445270' tag_id,'202501'busi_mon , '012399931003,012399931000' index_val
union all
select 'tag074445271' tag_id,'202501'busi_mon , '037100006340,030600050969,030600012604' index_val
union all
select 'tag074445271' tag_id,'202501'busi_mon , '' index_val
)

--计算客户编号个数
select tag_id, busi_mon,index_val,
COALESCE(SUM(case when length(trim(index_val)) >0 then size(split(index_val, ',')) else 0 end ), 0) AS index_val_0, --计算结果
size(split(index_val,",")) DD,  --数组长度
split(index_val,",") SS --字符串分隔情况
from tmp_test01
group by tag_id, busi_mon,index_val

注:1、空字符串处理‌:如果分割的字段串是空字符串(例如a=''),size(split(a, ','))的结果为1,因为空字符串被视为一个元素‌;

2、null值处理‌:如果分割的字段串是null(例如a is null),size(split(a, ','))的结果为-1

2、LPAD(string, length, pad_string) :在字符串左侧填充指定字符以达到指定长度的函数

实例1):部门编号补足4位数,客户编号补足12位数

select
LPAD(KH,12,'0')                   as Pty_Id                       --客户当事人编号
,LPAD(YYB,4,'0')                   as Inr_Org_Id                   --内部机构编号
from table_name


http://www.kler.cn/a/556955.html

相关文章:

  • 网页版的俄罗斯方块
  • logstash中的input插件(http插件,graphite插件)
  • express+Vue2进行项目实战-景点后台管理系统(上篇)
  • Java之——“String类”(内容较多,结合目录察看分类)
  • 2025年股指期货和股指期权合约交割的通知!
  • [实现Rpc] 通信-Muduo库的实现 | 完美转发 | reserve | unique_lock
  • Rust 未来会成为主流的编程语言吗?
  • 赞赏系统PHP网站源码
  • 3.12 企业级智能文档引擎:从技术手册到产品报告的全链路自动化实践指南
  • Spring Boot 项目开发流程全解析
  • 计算机视觉(CV)
  • 领略算法真谛:倍增思想
  • Safari 插件开发流程
  • 学习整理安装php的uuid扩展以及uuid调用方法
  • 启元世界(Inspir.ai)技术浅析(八):AI 数值设计
  • 【CXX】4 跨平台构建系统特性对比
  • git 克隆及拉取github项目到本地微信开发者工具,微信开发者工具通过git commit、git push上传代码到github仓库
  • Day7 25/2/20 THU
  • 负载均衡 LVS vs Nginx 对比
  • 【Blender】二、建模篇--05,阵列修改器与晶格形变