SQL> select '|'||to_char(5,'999')||'|' from dual;
结果为:| 5|
SQL> select '|'||to_char(5,'000')||'|' from dual;
结果为:| 005|
如何去除多余的空格?
SQL> select '|'||to_char(5,'fm000')||'|' from dual;
结果为:|005|
空格没有了
在数字类型方面:fm主要作用就是去除空格的影响
而在日期方面:
--序数方式显示,并且fm方式显示,会把多余的前缀0和多余的空格去掉。
SQL> SELECT TO_CHAR(SYSDATE, 'fmDDTH') || ' of ' ||
2 TO_CHAR(SYSDATE, 'fmMonth') || ', ' ||
3 TO_CHAR(SYSDATE, 'YYYY') "Ides"
4 FROM DUAL;
Ides
------------------------------------------------------------
7TH of May, 2014
fm参数会自动舍弃被格式化元素的前置0
总结来说:
fm是填充模式
如果是字符格式化,指定fm参数后将仅返回指定属性实际所占长度(不再以空格填充)。
如果是数值格式化,fm参数会自动舍弃被格式化元素的前置0。