sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo cambiar la configuración regional al formatear números en PostgreSQL

Si está formateando un número en PostgreSQL y desea cambiar la configuración regional para que se usen los separadores decimales y de grupo correctos, así es como puede hacerlo.

Hay dos variables de sistema de interés:

lc_monetary Establece la configuración regional que se usará para dar formato a las cantidades monetarias.
lc_numeric Establece la configuración regional que se usará para dar formato a los números.

Estos se pueden configurar con SET declaración.

Por ejemplo:

SET lc_numeric = 'en_US';

Resultado:

SET

Habiendo establecido eso, funciones como TO_CHAR() formateará los números de acuerdo con en_US formato.

Ejemplos

Aquí hay algunos ejemplos que demuestran cómo estas variables pueden afectar la salida:

El lc_monetary variables

Aquí hay un ejemplo de configuración de lc_monetary variables:

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

Resultado:

$123,456.79

Y aquí está usando una configuración regional diferente:

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

Resultado:

Eu123.456,79

El lc_numeric variables

Aquí hay un ejemplo de configuración de lc_numeric variable, luego formateamos un número con TO_CHAR() función:

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

Resultado:

123,456.79

Y aquí está usando una configuración regional diferente:

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

Resultado:

123,456.79

Verifique la configuración actual

Puede verificar su configuración actual con SHOW comando.

Ejemplo:

SHOW lc_monetary;

Resultado:

en_US

Y:

SHOW lc_numeric;

Resultado:

de_DE

Restablecer los valores predeterminados

Puede usar lo siguiente para restablecer cada variable a su configuración predeterminada:

SET lc_monetary TO DEFAULT;
SHOW lc_monetary;

Resultado:

en_US.UTF-8

Y para lc_numeric :

SET lc_numeric TO DEFAULT;
SHOW lc_numeric;

Resultado:

en_US.UTF-8

Las configuraciones regionales disponibles en su sistema y sus nombres dependen de lo que proporcionó el proveedor del sistema operativo y lo que se instaló. Consulte la documentación de PostgreSQL sobre el soporte de configuración regional para obtener más información.