Oracle: Шаблон для to_char (число), чтобы добавить дополнительные символы ASCII? - PullRequest
4 голосов
/ 25 февраля 2009

Используя функцию Oracle to_char (number), возможно ли добавить символы ascii к возвращаемой строке?

В частности, мне нужно добавить символ процента к возвращаемой строке.

"выберите to_char (89.2244, '999G999G999G999G990D00') из двойного" -> возвращает «89,22». Мне нужен шаблон формата, который возвращает «89,22%».

Я использую это через отчеты в Application Express, поэтому не могу просто объединить «%» к запросу, мне нужно поместить его в числовой формат.

Ответы [ 4 ]

5 голосов
/ 25 февраля 2009

То есть вы не можете обернуть to_char КОНКАТОМ?

select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual
2 голосов
/ 25 февраля 2009

Быстрый и грязный путь:

выберите to_char (89.2244, '999G999G999G999G990D00L', 'NLS_CURRENCY =' '%' '') из двойного;

2 голосов
/ 25 февраля 2009

Вы не можете сделать это правильно в числовом формате.

Если вы можете изменить NLS_CURRENCY для своей сессии, вы можете сделать следующее:

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

--- 
1,20%
0 голосов
/ 12 января 2017
SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;
TO_CHAR(89.2244,'999G999
------------------------
              89.22%

Просто используйте || бары вместо функции concat.

...