PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да промените локала при форматиране на числа в PostgreSQL

Ако форматирате число в PostgreSQL и искате да промените локала, така че да се използват правилните групови и десетични разделители, ето как можете да направите това.

Има две системни променливи, които представляват интерес:

lc_monetary Задава локала, който да се използва за форматиране на парични суми.
lc_numeric Задава локала, който да се използва за форматиране на числа.

Те могат да бъдат зададени с SET изявление.

Например:

SET lc_numeric = 'en_US';

Резултат:

SET

След като зададете това, функции като TO_CHAR() ще форматира числата според en_US формат.

Примери

Ето няколко примера, които демонстрират как тези променливи могат да повлияят на изхода:

lc_monetary Променлива

Ето пример за настройка на lc_monetary променлива:

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

Резултат:

$123,456.79

И тук използва различен локал:

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

Резултат:

Eu123.456,79

lc_numeric Променлива

Ето пример за настройка на lc_numeric променлива, след което форматирате число с TO_CHAR() функция:

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

Резултат:

123,456.79

И тук използва различен локал:

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

Резултат:

123,456.79

Проверете текущите настройки

Можете да проверите текущите си настройки с SHOW команда.

Пример:

SHOW lc_monetary;

Резултат:

en_US

И:

SHOW lc_numeric;

Резултат:

de_DE

Върнете се обратно към стойностите по подразбиране

Можете да използвате следното, за да върнете всяка променлива обратно към нейните настройки по подразбиране:

SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Резултат:

en_US.UTF-8

И за lc_numeric :

SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Резултат:

en_US.UTF-8

Наличните локали във вашата система и техните имена зависят от това, което е предоставено от доставчика на операционната система и какво е инсталирано. Вижте документацията на PostgreSQL относно поддръжката на локал за повече информация.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pghoard алтернативи - PostgreSQL управление на архивиране с ClusterControl

  2. Django ConnectionAbortedError:[WinError 10053] Установена връзка е прекъсната от софтуера на вашата хост машина

  3. postgresql списък и подреждане на таблици по размер

  4. Как мога да предотвратя Postgres да вмъква подзаявка?

  5. PostgreSQL 8.4 предоставя DML привилегии за всички таблици на роля