我有两种帐号,它们都是字符串:
其中一些具有leading zeros
,另一些已正确导入并且没有前导零;
如何在不修整正常帐号的情况下摆脱前导零?
前导零的那些有点:
0000012345678
没有前导零的是:
1345678
如何在Impala中做到这一点而又不删减所有帐号?从我看到的结果来看,那些记录中总是有5个带前导零的前导零。
答案 0 :(得分:6)
尝试一下:
SELECT CAST( "0000012345678" AS INT);
OR
SELECT regexp_replace( "0000012345678","^0+(?!$)","")
答案 1 :(得分:1)
尝试使用REGEXP_REPLACE
:
SELECT REGEXP_REPLACE('0000012345678', '^0*', '') AS number_out
FROM yourTable;
答案 2 :(得分:0)
您可以使用substr()
select case when left(accountno)='00000' then substr(accountno,6,length(accountno)-5)
else accountno end
from yourtablename