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

发布于 2024-07-14 07:49:13 字数 275 浏览 9 评论 0原文

使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

妥活 2024-07-21 07:49:13

所以你不能用 CONCAT 包装 to_char 吗?

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

So you can't wrap the to_char with a CONCAT?

select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual
相对绾红妆 2024-07-21 07:49:13

你不能用数字格式正确地做到这一点。

如果您能够更改会话的 NLS_CURRENCY,则可以执行以下操作:

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

--- 
1,20%

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(1.2, '999G999G999G999G990D00L' /*, 'NLS_CURRENCY=%' */)
FROM    dual

--- 
1,20%
假情假意假温柔 2024-07-21 07:49:13

快速而肮脏的方法:

select to_char(89.2244, '999G999G999G999G990D00L', 'NLS_CURRENCY=''%''') from Dual;

Quick and dirty way:

select to_char(89.2244, '999G999G999G999G990D00L', 'NLS_CURRENCY=''%''') from dual;

就像说晚安 2024-07-21 07:49:13
SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;

<前><代码>TO_CHAR(89.2244,'999G999
------------------------
89.22%

只需使用 || 条形图而不是 concat 函数。

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

Just use the || bars instead of the concat function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文