当前位置:   article > 正文

Sql进阶技巧:如何遍历字符串及获取字符串对应索引位置_hive 遍历字符串

hive 遍历字符串

目录

0 问题描述

1 数据准备

2 问题分析

3 小结


0 问题描述

表名:t2
表字段及内容:
a
1011
0101
问题:如何将字符'1'的位置提取出来
输出结果如下所示:
1,3,4
2,4

1 数据准备

  1. create table t2 as
  2. select '1011' as a
  3. UNION ALL
  4. select '0101' as a

2 问题分析

核心思想:

  • (1)将字符串按照空格切开
  • (2)利用posexplode()函数,将切开返回的数组展开(一行变多行,flatmap)
  • (3)利用表生成函数与原表关联,原表为主表
  •         t2 lateral view posexplode(split(a,'')) t1 as pos,val

               生成的pos值即为索引值,原表的数据会按照右边切开后的数据条数进行膨胀

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/964876
推荐阅读
相关标签
  

闽ICP备14008679号