Выясните 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