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

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

相关文章:

  • AI学习指南DeepSeek篇(6)-DeepSeek论文介绍
  • 目标检测中单阶段检测模型与双阶段检测模型详细对比与说明
  • Python 3 中 快速排序 和 归并排序
  • matlab和java混合编程经验分享
  • 迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-修改HCS配置
  • Python logger模块
  • 路由器的WAN口和LAN口有什么区别?
  • 1.14作业
  • 动态存储斐波那契数列(递归优化)
  • 基于AVue的二次封装:快速构建后台管理系统的CRUD方案
  • synchronized锁字符串
  • 语音直播交友app出海:语音直播交友系统软件源码搭建国际化发展技术层面分析
  • SHELL32!SHLoadPopupMenu函数分析之添加属性菜单项
  • Ubuntu22.04 - etcd的安装和使用
  • AI大模型发展对语音直播交友系统源码开发搭建的影响
  • python-leetcode-搜索二维矩阵 II
  • 实战:利用百度站长平台加速网站收录
  • Spring Boot 中事务的用法详解
  • 雷龙CS贴片式NAND芯片应用实践-大容量存储与多媒体设备的完美融合
  • Effective C++ 读书笔记(十二)
  • 设计师服务平台网站/bt种子搜索神器
  • 京东网站的建设与发展/seosem是指什么意思
  • wordpress短链接关键字/整站seo排名
  • python怎么做抢课网站/网络营销计划的七个步骤
  • 网站建设一条龙/信阳seo推广
  • 动漫做视频在线观看网站/天津百度推广公司