Usar
TO_CHAR
especificando um caractere decimal D
no modelo de formato adequadamente Quando o
NLS_NUMERIC_CHARACTERS
da sua sessão é ,.
( "decimal_character group_separator " ) por padrão ou você o definiu manualmente usando alter session set NLS_NUMERIC_CHARACTERS = ',.';
select to_char(231.12, '99999D99') from dual;
exibe
231,12
Você pode alterar o comportamento atribuindo
NLS_NUMERIC_CHARACTERS
como o 3º argumento select to_char(231.12, '99999D99','NLS_NUMERIC_CHARACTERS='',.''') from dual;
231,12
Demonstração