PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment changer les paramètres régionaux lors du formatage des nombres dans PostgreSQL

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.