我需要填充数字与前导零(共8位数字)为显示。我在用甲骨文。
select to_char(1011,'00000000') OPE_NO from dual;
select length(to_char(1011,'00000000')) OPE_NO from dual;我得到的不是'00001011‘,而是’00001011‘。为什么我会得到一个额外的前导空格?要实现这一点,正确的数字格式字符串是什么?
附注:我意识到我可以只使用trim(),但我想更好地理解数字格式。
@Eddie:我已经看过文档了。但是我仍然不明白如何去掉前导空格。
@David:这是不是意味着除了使用trim()别无选择?
发布于 2008-10-01 08:11:33
使用FM (填充模式),例如
select to_char(1011,'FM00000000') OPE_NO from dual;
发布于 2008-10-01 05:40:48
来自EddieAwad提到的同一个documentation
负返回值自动包含前导负号,正值自动包含前导空格,除非格式模型包含MI、S或PR格式元素。
编辑:正确的方法是使用FM修饰符,Steve Bosman回答了这一问题。有关更多信息,请阅读关于Format Model Modifiers的部分。
https://stackoverflow.com/questions/156329
复制相似问题