sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan ændres lokalitet, når du formaterer tal i PostgreSQL

Hvis du formaterer et tal i PostgreSQL, og du vil ændre lokaliteten, så de korrekte gruppe- og decimalseparatorer bruges, er det sådan her, du kan gøre det.

Der er to systemvariabler af interesse:

lc_monetary Indstiller den lokalitet, der skal bruges til at formatere pengebeløb.
lc_numeric Indstiller den lokalitet, der skal bruges til formatering af tal.

Disse kan indstilles med SET erklæring.

For eksempel:

SET lc_numeric = 'en_US';

Resultat:

SET

Efter at have indstillet det, fungerer som TO_CHAR() vil formatere tal i henhold til en_US format.

Eksempler

Her er nogle eksempler, der viser, hvordan disse variable kan påvirke outputtet:

Den lc_monetary Variabel

Her er et eksempel på indstilling af lc_monetary variabel:

SET lc_monetary = 'en_US';
SELECT CAST(123456.789 AS money);

Resultat:

$123,456.79

Og her bruger den en anden lokalitet:

SET lc_monetary = 'de_DE';
SELECT CAST(123456.789 AS money);

Resultat:

Eu123.456,79

Det lc_numeric Variabel

Her er et eksempel på indstilling af lc_numeric variabel og derefter formatere et tal med TO_CHAR() funktion:

SET lc_numeric = 'en_US';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Resultat:

123,456.79

Og her bruger den en anden lokalitet:

SET lc_numeric = 'de_DE';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Resultat:

123,456.79

Tjek de aktuelle indstillinger

Du kan kontrollere dine nuværende indstillinger med SHOW kommando.

Eksempel:

SHOW lc_monetary;

Resultat:

en_US

Og:

SHOW lc_numeric;

Resultat:

de_DE

Nulstil tilbage til standardværdierne

Du kan bruge følgende til at sætte hver variabel tilbage til dens standardindstilling:

SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Resultat:

en_US.UTF-8

Og for lc_numeric :

SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Resultat:

en_US.UTF-8

De tilgængelige lokaliteter på dit system og deres navne afhænger af, hvad der blev leveret af operativsystemleverandøren, og hvad der blev installeret. Se PostgreSQLs dokumentation om lokalitetssupport for mere information.


  1. Kontrol af Oracle RAC-netværk og IP-oplysninger

  2. Bestem, hvilken MySQL-konfigurationsfil, der bruges

  3. Sådan formateres negative værdier med parenteser i SQL Server (T-SQL)

  4. PERIOD_DIFF() Eksempler – MySQL