PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como alterar a localidade ao formatar números no PostgreSQL


Se você está formatando um número no PostgreSQL e deseja alterar a localidade para que o grupo correto e os separadores decimais sejam usados, veja como fazer isso.

Existem duas variáveis ​​de sistema de interesse:
lc_monetary Define a localidade a ser usada para formatar valores monetários.
lc_numeric Define a localidade a ser usada para formatar números.

Estes podem ser definidos com o SET demonstração.

Por exemplo:
SET lc_numeric = 'en_US';

Resultado:
SET

Tendo definido isso, funções como TO_CHAR() irá formatar os números de acordo com o en_US formato.

Exemplos


Aqui estão alguns exemplos que demonstram como essas variáveis ​​podem afetar a saída:

O lc_monetary Variável


Aqui está um exemplo de configuração do lc_monetary variável:
SET lc_monetary = 'en_US';
SELECT CAST(123456.789 AS money);

Resultado:
$123,456.79

E aqui está usando uma localidade diferente:
SET lc_monetary = 'de_DE';
SELECT CAST(123456.789 AS money);

Resultado:
Eu123.456,79

O lc_numeric Variável


Aqui está um exemplo de configuração do lc_numeric variável, formatando um número com o TO_CHAR() função:
SET lc_numeric = 'en_US';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Resultado:
123,456.79

E aqui está usando uma localidade diferente:
SET lc_numeric = 'de_DE';
SELECT TO_CHAR(123456.789, 'fm999G999D99');

Resultado:
123,456.79

Verifique as configurações atuais


Você pode verificar suas configurações atuais com o SHOW comando.

Exemplo:
SHOW lc_monetary;

Resultado:
en_US

E:
SHOW lc_numeric;

Resultado:
de_DE

Redefinir para os valores padrão


Você pode usar o seguinte para definir cada variável de volta à sua configuração padrão:
SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Resultado:
en_US.UTF-8

E para lc_numeric :
SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Resultado:
en_US.UTF-8

As localidades disponíveis em seu sistema e seus nomes dependem do que foi fornecido pelo fornecedor do sistema operacional e do que foi instalado. Consulte a documentação do PostgreSQL sobre suporte a localidades para obter mais informações.