Oracle: to_char(number) 的模式添加额外的 ASCII 字符?
使用Oracle to_char(number)函数,是否可以将ascii字符附加到返回的字符串中?
具体来说,我需要向返回的字符串添加一个百分比字符。
“从 Dual 选择 to_char(89.2244, '999G999G999G999G990D00')” --> 返回“89.22”。 我需要一个返回“89.22%”的格式模式。
我通过 Application Express 中的报告使用它,因此不能简单地将“%”连接到查询,我需要将其采用数字格式。
Using the Oracle to_char(number) function, is it possible to append ascii characters to the returned string?
Specifically, I need to add a percentage character to the returned string.
"select to_char(89.2244, '999G999G999G999G990D00') from dual" -->
returns "89.22". I need a format pattern that returns "89.22%".
I am using this through reports in Application Express, so cannot simply concatenate "%" to the query, i need to put it in the number format.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所以你不能用 CONCAT 包装 to_char 吗?
So you can't wrap the to_char with a CONCAT?
你不能用数字格式正确地做到这一点。
如果您能够更改会话的
NLS_CURRENCY
,则可以执行以下操作:You can't do it right in the number format.
If you are able to change
NLS_CURRENCY
for you session, you can do the following:快速而肮脏的方法:
select to_char(89.2244, '999G999G999G999G990D00L', 'NLS_CURRENCY=''%''') from Dual;
Quick and dirty way:
select to_char(89.2244, '999G999G999G999G990D00L', 'NLS_CURRENCY=''%''') from dual;
只需使用 || 条形图而不是 concat 函数。
Just use the || bars instead of the concat function.