sql >> Databáze >  >> RDS >> PostgreSQL

Jak změnit národní prostředí při formátování čísel v PostgreSQL

Pokud formátujete číslo v PostgreSQL a chcete změnit národní prostředí tak, aby byly použity správné oddělovače skupiny a desetinných míst, můžete to udělat následovně.

Zajímavé jsou dvě systémové proměnné:

lc_monetary Nastaví národní prostředí pro formátování peněžních částek.
lc_numeric Nastaví národní prostředí pro formátování čísel.

Ty lze nastavit pomocí SET prohlášení.

Například:

SET lc_numeric = 'en_US';

Výsledek:

SET

Po nastavení funkce jako TO_CHAR() bude formátovat čísla podle en_US formát.

Příklady

Zde je několik příkladů, které demonstrují, jak tyto proměnné mohou ovlivnit výstup:

lc_monetary Proměnná

Zde je příklad nastavení lc_monetary proměnná:

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

Výsledek:

$123,456.79

A zde používá jiné národní prostředí:

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

Výsledek:

Eu123.456,79

lc_numeric Proměnná

Zde je příklad nastavení lc_numeric proměnnou a poté naformátujte číslo pomocí TO_CHAR() funkce:

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

Výsledek:

123,456.79

A zde používá jiné národní prostředí:

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

Výsledek:

123,456.79

Zkontrolujte aktuální nastavení

Aktuální nastavení můžete zkontrolovat pomocí SHOW příkaz.

Příklad:

SHOW lc_monetary;

Výsledek:

en_US

A:

SHOW lc_numeric;

Výsledek:

de_DE

Resetovat zpět na výchozí hodnoty

K nastavení každé proměnné zpět na její výchozí nastavení můžete použít následující:

SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Výsledek:

en_US.UTF-8

A pro lc_numeric :

SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Výsledek:

en_US.UTF-8

Lokality dostupné ve vašem systému a jejich názvy závisí na tom, co bylo poskytnuto dodavatelem operačního systému a co bylo nainstalováno. Další informace najdete v dokumentaci PostgreSQL o podpoře národního prostředí.


  1. Použití proměnné periody v intervalu v Postgresu

  2. Jak vrátíte názvy sloupců tabulky?

  3. „Závažná chyba interního připojení“ při provádění nativně kompilované uložené procedury v SQL Server 2019 (známá chyba)

  4. Jak nainstalovat SQL Server na Linux