SQL没有逗号没有十进制前导零

时间:2018-03-16 20:03:27

标签: sql

如果我有一个1,234.56的数字,我需要格式化没有小数,没有逗号&领先的零。我正在寻求的输出是000123456。

2 个答案:

答案 0 :(得分:0)

这样的事情会给你你想要的结果:

SELECT RIGHT('000000000' + REPLACE(REPLACE('1,234.56', '.', ''), ',', ''), 9) AS NewColumn

结果:

NewColumn
000123456

答案 1 :(得分:0)

这适用于Oracle。首先使用regexp_replace()一步删除逗号和小数。然后用左边的零填充到9个字符的长度。

警告:如果结果数字最终超过9个字符,则会在右侧截断。

select lpad(regexp_replace('1,234.56', '[,.]'), 9, '0')
from dual;

希望这会转换为您的SQL版本。