修剪黑斑羚中的前导零

时间:2018-11-27 06:40:24

标签: sql cloudera impala

我有两种帐号,它们都是字符串: 其中一些具有leading zeros,另一些已正确导入并且没有前导零;

如何在不修整正常帐号的情况下摆脱前导零?

前导零的那些有点: 0000012345678

没有前导零的是: 1345678

如何在Impala中做到这一点而又不删减所有帐号?从我看到的结果来看,那些记录中总是有5个带前导零的前导零。

3 个答案:

答案 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