oracle的to_char中的fm

SQL> select '|'||to_char(5,'999')||'|' from dual;
 结果为:|   5|

SQL> select '|'||to_char(5,'000')||'|' from dual;
 结果为:| 005|

SQL> select '|'||to_char(-5,'000')||'|' from dual;
 结果为:|-005|
 
 可见:前面的空格是为+号留的位置,只是为+号时省略了。
 如何去除多余的空格?
 SQL> select '|'||to_char(5,'fm000')||'|' from dual;
 结果为:|005|
 
空格没有了,fm主要作用就是去除空格的影响。

10进制转换成16进制:
SQL> select '|'||to_char(32,'fmxxxxxxx')||'|' from dual;
 结果为:|20|
 
 16进制转换成10进制:
 SQL> select '|'||to_number(20,'xxxxxxxxx')||'|' from dual;
 结果为: |32|

原文地址:https://www.cnblogs.com/dyllove98/p/3159579.html