使用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中通过报表使用这个,所以不能简单地将“%”连接到查询中,我需要将其转换为数字格式。
nwlls2ji1#
所以你不能用CONCAT Package to_char?
select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual
字符串
a0x5cqrl2#
你不能在数字格式中做正确的事情。如果您能够为会话更改NLS_CURRENCY,则可以执行以下操作:
NLS_CURRENCY
SELECT TO_CHAR(1.2, '999G999G999G999G990D00L' /*, 'NLS_CURRENCY=%' */) FROM dual --- 1,20%
0pizxfdo3#
快速和肮脏的方式:select to_char(89.2244,'999G999G999G990D00L','NLS_CURRENCY=''%'')from dual;
gdx19jrr4#
SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;
个字符就用||bars而不是concat函数。
4条答案
按热度按时间nwlls2ji1#
所以你不能用CONCAT Package to_char?
字符串
a0x5cqrl2#
你不能在数字格式中做正确的事情。
如果您能够为会话更改
NLS_CURRENCY
,则可以执行以下操作:字符串
0pizxfdo3#
快速和肮脏的方式:
select to_char(89.2244,'999G999G999G990D00L','NLS_CURRENCY=''%'')from dual;
gdx19jrr4#
个字符
就用||bars而不是concat函数。