工作中一些函数的应用

本文介绍了在数据库处理中的一些实用函数应用,包括如何使用SQL进行列转行操作来处理外呼客户回调标识的问题,以及计算累计收益率的算法。同时,还展示了如何通过SQL自动补全非交易日数据,确保数据的完整性和连续性。
摘要由CSDN通过智能技术生成

1,炸裂函数应用:列转行操作
应用背景1:一个外呼客户回调标识 对应 一串客户编号,需要把客户编号分割开
otbd_cust_calb_id 外呼客户回调标识: ‘_SSJVLNTF10Q3V9GQKV064D15R’
rela_cust_lsts 关联客户列表: ‘170005863,170006774,170007193,170007541,170009139,170013559’
一个回调标识对应’一串’的客户列表,需要用炸裂函数给炸开 -> 列转行操作
otbd_cust_calb_id rela_cust_lsts
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170005863’
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170006774’
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170007193’
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170007541’
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170009139’
‘_SSJVLNTF10Q3V9GQKV064D15R’ ‘170013559’
select
coalesce(a.cust_no,b.cust_no) as cust_no
,‘1’ as serv_chan
,coalesce(a.tel_serv_cnt,b.tel_serv_cnt) as cnt_serv_num
,coalesce(a.otbd_cust_calb_id,b.otbd_cust_calb_id) as serv_flag
from ( select – 1.1 员工工作日志 客户本年电话服务次数
t2.cust_no as cust_no – 客户编号
,t2.otbd_cust_calb_id as otbd_cust_calb_id – 外呼客户回调标识
,count(*) as tel_serv_cnt – 电话服务次数
from(select
cust_no
, otbd_cust_calb_id
from(select
split(rela_cust_lsts,‘,’) as rela_cust_lsts
, nvl(otbd_cust_calb_id,‘aa’) as otbd_cust_calb_id
from db_edw.mkt_emp_work_log – 员工工作日志
where dt = ‘ v d a t e ′ − − 该表为全量分区表, d t 需要固定为最新分区 a n d c u s t s e r v m o d e c d = ′ 1 ′ − − 电话访问 a n d w o r k o c c u d a t e < = ′ {v_date}' -- 该表为全量分区表,dt需要固定为最新分区 and cust_serv_mode_cd = '1' -- 电话访问 and work_occu_date <= ' vdate该表为全量分区表,dt需要固定为最新分区andcustservmodecd=1电话访问andworkoccudate<={v_date}’ – 工作发生日期 <= 统计日期
and substr(work_occu_date,1,4) = substr(‘ v d a t e ′ , 1 , 4 ) − − 限制时间范围:本年 ) t 1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值