使用Oracle to_char(number)函数,是否可以在返回的字符串中附加ascii字符?
具体来说,我需要在返回的字符串中添加一个百分比字符。
“从双” - >>中选择to_char(89.2244,'999G999G999G999G990D00') 返回“89.22”。我需要一个返回“89.22%”的格式模式。
我通过Application Express中的报告使用它,所以不能简单地将“%”连接到查询,我需要将其放在数字格式中。
答案 0 :(得分:5)
所以你不能用CONCAT包装to_char吗?
select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual
答案 1 :(得分:2)
你不能用数字格式做到这一点。
如果您能够为会话更改NLS_CURRENCY
,则可以执行以下操作:
SELECT TO_CHAR(1.2, '999G999G999G999G990D00L' /*, 'NLS_CURRENCY=%' */)
FROM dual
---
1,20%
答案 2 :(得分:2)
快速而肮脏的方式:
从双重选择to_char(89.2244,'999G999G999G999G990D00L','NLS_CURRENCY =''%''');
答案 3 :(得分:0)
SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;
TO_CHAR(89.2244,'999G999 ------------------------ 89.22%
只需使用|| bar而不是concat函数。