обрезать ведущие нули в импале - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть два вида номеров учетных записей, все из которых являются строками: некоторые из них имеют leading zeros, другие были импортированы правильно и не имеют ведущих нулей;

Как мне избавиться отведущие нули без обрезки номеров счетов, которые являются нормальными?

несколько с ведущими нулями несколько: 0000012345678

Те без начальных нулей: 1345678

Как можноЯ делаю это в Impala, не обрезая все номера счетов? Из того, что я видел, всегда есть 5 ведущих нулей в этих записях с ведущими нулями.

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

Попробуйте использовать REGEXP_REPLACE:

SELECT REGEXP_REPLACE('0000012345678', '^0*', '') AS number_out
FROM yourTable;
0 голосов
/ 27 ноября 2018

вы можете использовать substr()

select case when left(accountno)='00000' then substr(accountno,6,length(accountno)-5)
else accountno end
from yourtablename
0 голосов
/ 27 ноября 2018

Попробуйте это:

SELECT CAST( "0000012345678"  AS INT);

ИЛИ

SELECT regexp_replace( "0000012345678","^0+(?!$)","")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...