当前位置:  开发笔记 > 数据库 > 正文

为什么Oracle的to_char()函数会添加空格?

如何解决《为什么Oracle的to_char()函数会添加空格?》经验,为你挑选了3个好方法。

为什么Oracle的to_char()功能会增加空间?

select length('012'), 
       length(to_char('012')), 
       length(to_char('12', '000')) 
  from dual;

3, 3, 4



1> Tony Andrews..:

额外的领先空间是潜在的减号.要删除空间,您可以使用以下格式的FM:

SQL> select to_char(12,'FM000') from dual;

TO_C
----
012

顺便说一句,请注意to_char采用NUMBER参数; to_char('012')隐式转换为to_char(to_number('012'))= to_char(12)


只是为了澄清:`to_char(-12,'FM00')`会导致`-12`而不是(人们可能会害怕)`12`或`##`

2> James Curran..:

为了更清楚地给出答案:

select '['||to_char(12, '000')||']', 
       '['||to_char(-12, '000')||']', 
       '['||to_char(12,'FM000')||']' 
from dual


[ 012]                      [-012]                       [012]  



3> stjohnroe..:

您使用的格式掩码是固定宽度,允许使用减号

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有