Выясните 0 позицию из строки в улье

Я хочу знать позицию данных, которые не начинаются с 0. Как в примере ниже, в первой строке первые цифры равны 00, и он возвращает 3 позиции, так как ненулевые значения начинаются с 3 позиции

member_id          values

008507743          3     
017521344          2    
040324598          2

КОД SQL:-

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

Выше, что в sql, и я просто хочу то же самое в улье и не могу найти решение для того же. Любая помощь будет заметна. Спасибо

1 ответ

Попробуй это

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

Из документации

instr(строка str, строка substr):- возвращает позицию первого вхождения substr в строку str. Возвращает ноль, если один из аргументов равен нулю, и возвращает 0, если substr не может быть найден в str. Знайте, что это не основано на нуле. Первый символ в str имеет индекс 1.

объяснение

regexp_extract возвращает первый номер / алфавит, который не 0,

instr возвращает индекс найденного элемента из regexp_extract

Другие вопросы по тегам