Oracle 的to_char函数格式化出来的结果中含有空格

sql: select to_char('123','00000') from dual; 执行后格式化出来的字符中含有空格,如:

如果to_char的前面的参数的长度和后面参数的长度不一致,就会出现空格,这种情况下:
可以通过oracle的trim方法来删除前面出现的空格。
sql:
select to_char('11111','999999') from dual;
执行结果:“ 11111”;
select trim(to_char('11111','999999')) from dual;
执行结果:“11111”。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-02
这是因为你们对模式字符串不熟,要作填充模式。语句如下:
select to_char('123','FM00000') from dual

这样就对了,前面几位都是笨办法,其实它的格式化输出很强大的,查阅一下相关文档就知道了。
第2个回答  2011-09-04
你没有理解to_char的含义。它是把其他类型的值转换为字符型。
例如可以把DATE型转换为字符型,可以把NUMBER型转换为字符型。
你的123本来就是一个字符型 你为啥还要格式化哪?你想实现什么功能哪?
想要字符123变成00123吗?那样可以用lpad函数。
第3个回答  2011-09-02
你是不需要空格吗?
那加trim()函数就行了 去空格用的
select trim(to_char('123','00000')) from dual;
这样就没有空格了本回答被网友采纳
第4个回答  2011-09-02
select trim(to_char('123','00000')) from dual;
相似回答