Si vous formatez un nombre dans PostgreSQL et que vous souhaitez modifier les paramètres régionaux afin que les séparateurs de groupe et décimaux corrects soient utilisés, voici comment procéder.
Il existe deux variables système intéressantes :
lc_monetary | Définit les paramètres régionaux à utiliser pour formater les montants monétaires. |
lc_numeric | Définit les paramètres régionaux à utiliser pour le formatage des nombres. |
Ceux-ci peuvent être définis avec le SET
déclaration.
Par exemple :
SET lc_numeric = 'en_US';
Résultat :
SET
Après avoir défini cela, des fonctions comme TO_CHAR()
formatera les nombres selon le en_US
formater.
Exemples
Voici quelques exemples qui montrent comment ces variables peuvent affecter la sortie :
Le lc_monetary
variables
Voici un exemple de définition du lc_monetary
variables :
SET lc_monetary = 'en_US';
SELECT CAST(123456.789 AS money);
Résultat :
$123,456.79
Et ici, il utilise une locale différente :
SET lc_monetary = 'de_DE';
SELECT CAST(123456.789 AS money);
Résultat :
Eu123.456,79
Le lc_numeric
variables
Voici un exemple de définition du lc_numeric
variable, puis formater un nombre avec le TO_CHAR()
fonction :
SET lc_numeric = 'en_US';
SELECT TO_CHAR(123456.789, 'fm999G999D99');
Résultat :
123,456.79
Et ici, il utilise une locale différente :
SET lc_numeric = 'de_DE';
SELECT TO_CHAR(123456.789, 'fm999G999D99');
Résultat :
123.456,79
Vérifiez les paramètres actuels
Vous pouvez vérifier vos paramètres actuels avec le SHOW
commande.
Exemple :
SHOW lc_monetary;
Résultat :
en_US
Et :
SHOW lc_numeric;
Résultat :
de_DE
Réinitialiser aux valeurs par défaut
Vous pouvez utiliser ce qui suit pour remettre chaque variable à son paramètre par défaut :
SET lc_monetary TO DEFAULT;
SHOW lc_monetary;
Résultat :
en_US.UTF-8
Et pour lc_numeric
:
SET lc_numeric TO DEFAULT;
SHOW lc_numeric;
Résultat :
en_US.UTF-8
Les paramètres régionaux disponibles sur votre système et leurs noms dépendent de ce qui a été fourni par le fournisseur du système d'exploitation et de ce qui a été installé. Consultez la documentation de PostgreSQL sur la prise en charge des paramètres régionaux pour plus d'informations.