Number output
0012345 1234500
00008794 87940000
请帮助我哪个功能会给出上述结果。
答案 0 :(得分:0)
我假设Number
的类型为text
,否则它将不会保留前导零。然后,以下应该这样做:
SELECT regexp_replace(Number,'^(0*)([0-9]*)','\2\1') AS output;
如果希望output
是一个整数,你可以简单地对其进行类型转换:
SELECT regexp_replace(Number,'^(0*)([0-9]*)','\2\1')::integer AS output;
答案 1 :(得分:0)
这是python。
例如:
a = "0012345"
str(int(a)) + (len(a) - len(str(int(a))))*"0"
答案 2 :(得分:0)
这是另一种选择:
SELECT CAST(Number AS int) * 10 ^ (LENGTH(Number) - LENGTH(REPLACE(Number, '0', '')))
FROM yourTabl
<强>解释强>
CAST
将删除任何前导零,留下一个整数,例如12345
。然后将这个数字乘以10加到左边的原始文本填充的零数。