Oracle: Padrão para to_char (número) para adicionar caracteres ASCII adicionais?
-
06-09-2019 - |
Pergunta
Usando o to_char a Oracle função (número), é possível anexar caracteres ASCII para a string retornada?
Especificamente, eu preciso adicionar um personagem percentual, para a string retornada.
"select to_char (89,2244, '999G999G999G999G990D00') de dupla" -> retornos "89,22". Eu preciso de um padrão de formato que retorna "89,22%".
Eu estou usando este meio de relatórios em Application Express, por isso, não pode simplesmente concatenar "%" para a consulta, eu preciso colocá-lo no formato de número.
Solução
Então você não pode embrulhar o to_char com um CONCAT?
select concat(to_char(89.2244, '999G999G999G999G990D00'),'%') from dual
Outras dicas
Você não pode fazê-lo no formato de número.
Se você é capaz de NLS_CURRENCY
mudança para você sessão, você pode fazer o seguinte:
SELECT TO_CHAR(1.2, '999G999G999G999G990D00L' /*, 'NLS_CURRENCY=%' */)
FROM dual
---
1,20%
rápida e suja maneira:
seleccione to_char (89,2244, '999G999G999G999G990D00L', 'NLS_CURRENCY =' '%' '') de dupla;
SYS @ orant11g >select to_char(89.2244, '999G999G999G999G990D00')||'%' from dual;
TO_CHAR(89.2244,'999G999 ------------------------ 89.22%
Basta usar o || bares em vez da função concat.