Je suis sur le Brésil, et notre format monétaire est quelque chose comme 'R $ 9.999,00'.
J'essaie de sélectionner un champ et de changer le format du retour. Cependant, il semble que je ne puisse pas le faire. J'ai essayé:
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.';
et
SELECT to_char(10,'9,999.00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
Aucun de ceux-là ne fonctionnait. Je ne sais pas si ce pourrait être mon client (je suis sur Ubuntu avec sqldeveloper), ou si je fais quelque chose de mal.
Des idées?
Utilisation
SELECT to_char(10,'9G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
G est le symbole du séparateur de milliers D est le séparateur décimal
Je pense que votre masque de format est incorrect.Veuillez essayer ce masque de format:
SELECT to_char(10000,'99G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
assurez-vous que vous utiliserez le nombre correct de masque de format "9" pour les plus grands nombres
J'ai résolu le problème en:
SELECT TO_CHAR(1000000000,'999G999G999G999D99','NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;
pour formater un nombre par milliards. Je pense que ça aide.