Hola,
En Oracle el parámetro NLS_NUMERIC_CHARACTERS especifica los caracteres a utilizar como separador de grupo y carácter decimal.
Si se necesita cambiar un delimitador en Oracle, para evitar errores de porcentajes, se debe utilizar el siguiente alter:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS='.,';
Con esto se cambiara el delimitador punto (.) por el delimitador (,) si se desea implementar este alter dentro de una función o procedimiento en Oracle, debe utilizarse de la siguiente forma:
EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_NUMERIC_CHARACTERS=''.,''';
Dentro del begin inicial de un procedimiento.
Si se desea utilizar este parámetro en un select, se puede utilizar así:
SELECT TO_CHAR(1000000000,'999G999G999G999D99','NLS_NUMERIC_CHARACTERS = ''.,''') FROM DUAL;
Y el resultado final es:
1,000,000,000.00
Puesto que se reemplaza el delimitador de punto (.) por el delimitador de coma (,).
0 comentarios :
Publicar un comentario