从配置单元中的字符串中找出0位置

2w2cym1i  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(363)

我想知道不以0开头的数据的位置。像下面的例子一样,第一行的第一个数字是00,它返回3个位置,作为从3个位置开始的非零值

member_id          values

008507743          3     
017521344          2    
040324598          2

sql语句code:-

select  member_id,patindex('%[^0]%',MEMBER_ID)as Index_value  from tablename

我和sql中的上述内容只是想在hive中得到相同的结果,但无法找到相同的解决方案。任何帮助都是值得赞赏的。谢谢

ibps3vxo

ibps3vxo1#

试试这个

SELECT INSTR(member_id, regexp_extract(member_id, '[^0]', 0)) from tablename

来自文档
instr(string str,string substr):-返回str中第一次出现substr的位置。如果其中一个参数为null,则返回null;如果str中找不到substr,则返回0。请注意,这不是基于零的。str中的第一个字符具有索引1。
解释 regexp_extract 返回第一个不存在的数字/字母 0 . instr 返回从中找到的元素的索引 regexp_extract

相关问题