我正在使用COUNT()函数在查询中检索名为removal_count的列。在结果集中,removal_count的数据类型是BIGDECIMAL。我想将数字转换为五位数。因此,如果值小于五位数,则应以前导零表示。
例如:1)如果删除计数为540,则显示00540
2)如果删除计数为60,则显示00060
如果removal count是整数/字符串值,则可以使用Java表达式添加前导零:
--if removal_count is integer--
String.format("%05d",removal_count)
--if removal_count is string--
("00000"+removal_count).subString(removal_count.length())
我们是否可以将removal_count从big decimal转换为字符串或整数,以便我可以使用给定的Java表达式?否则,是否有任何方法在查询本身中添加前导零?
SELECT lpad(-1, 5, '0') m1, length(to_char(1, '00000')) m2 num_pad FROM dual;
。方法一可以得到000-1
。方法一对于正数和负数都有效;我经常遇到的问题是正数前面的空格(用长度6演示)。希望能够找到一种解决方案,使得 无符号整数 总是具有长度5。 - Marmite Bomber