Oracle:to_char(number)添加额外ASCII字符的模式?

j2qf4p5b  于 2023-08-03  发布在  Oracle
关注(0)|答案(4)|浏览(114)

使用Oracle to_char(number)函数,是否可以将ascii字符追加到返回的字符串中?
具体来说,我需要向返回的字符串添加一个百分比字符。
“select to_char(89.2244,'999 G999 G999 G999 G990 D 00')from dual”-->返回“89.22”。我需要一个返回“89.22%”的格式模式。
我在Application Express中通过报表使用这个,所以不能简单地将“%”连接到查询中,我需要将其转换为数字格式。

nwlls2ji

nwlls2ji1#

所以你不能用CONCAT Package to_char?

select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual

字符串

a0x5cqrl

a0x5cqrl2#

你不能在数字格式中做正确的事情。
如果您能够为会话更改NLS_CURRENCY,则可以执行以下操作:

SELECT  TO_CHAR(1.2, '999G999G999G999G990D00L' /*, 'NLS_CURRENCY=%' */)
FROM    dual

--- 
1,20%

字符串

0pizxfdo

0pizxfdo3#

快速和肮脏的方式:
select to_char(89.2244,'999G999G999G990D00L','NLS_CURRENCY=''%'')from dual;

gdx19jrr

gdx19jrr4#

SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;

个字符
就用||bars而不是concat函数。

相关问题