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

Patrones de plantilla y modificadores para formato numérico en PostgreSQL

Esta página contiene la lista completa de patrones de plantilla y modificadores de patrones de plantilla que se pueden usar al formatear números en PostgreSQL.

Patrones de plantilla

La siguiente tabla enumera todos los patrones de plantilla que se pueden usar para el formato numérico en Postgres.

Patrón Descripción
9 Posición del dígito (se puede eliminar si es insignificante). Si el dígito es un cero inicial, será reemplazado por un espacio. Si es un cero final y se especifica el modo de relleno (es decir, FM ), entonces se eliminará.
0 Posición del dígito (no se eliminará, aunque sea insignificante). Esto significa que la posición del dígito siempre se imprimirá, incluso si contiene un cero al principio o al final.
. (punto) Punto decimal. Ignora la configuración regional.
, (coma) Separador de grupos (miles). Ignora la configuración regional.
PR Valor negativo entre paréntesis angulares.
S Signo anclado al número (usa la configuración regional). Si S aparece justo a la izquierda de uno o más 9 s, el signo se anclará al número.
L Símbolo de moneda (usa la configuración regional).
D Punto decimal (usa la configuración regional).
G Separador de grupo (usa la configuración regional).
MI Signo menos en la posición especificada (si el número <0). No anclado al número.
PL Signo más en la posición especificada (si el número> 0). No anclado al número. Esta es una extensión de Postgres.
SG Signo más/menos en la posición especificada. No anclado al número. Esta es una extensión de Postgres.
RN Número romano (ingrese entre 1 y 3999).
TH o th Sufijo de número ordinal. Estos no convierten valores menores que cero y no convierten números fraccionarios. Estas son extensiones de PostgreSQL.
V Cambia el número de dígitos especificado. Cuando se usa con to_char() , esto multiplica los valores de entrada por 10^n , donde n es el número de dígitos que siguen a V . Cuando se usa con to_number() , se divide de manera similar. Ambos to_char()to_number() no admite el uso de V combinado con un punto decimal (por ejemplo, 99.9V99 no está permitido).
EEEE Exponente para notación científica. No se puede usar en combinación con ninguno de los otros patrones de formato o modificadores que no sean patrones de dígitos y puntos decimales, y debe estar al final de la cadena de formato (por ejemplo, 9.99EEEE es un patrón válido).

Notas:

  • Ambos 0 y 9 son equivalentes cuando se usan con to_number() función.
  • Al usar to_number() función, si los patrones de plantilla no son datos como LTH se utilizan, se omite el número correspondiente de caracteres de entrada, ya sea que coincidan o no con el patrón de la plantilla, a menos que sean caracteres de datos (es decir, dígitos, signo, punto decimal o coma). Por ejemplo, TH omitiría dos caracteres que no son datos.

Modificadores de patrón de plantilla

Los siguientes modificadores se pueden aplicar a los patrones de plantilla anteriores para alterar el resultado.

Modificador Descripción
FM prefijo Modo de relleno (suprime los ceros finales y los espacios en blanco de relleno).
TH sufijo Sufijo de número ordinal en mayúsculas. No convierte valores menores que cero y no convierte números fraccionarios. Esta es una extensión de Postgres.
th sufijo Sufijo de número ordinal en minúsculas. No convierte valores menores que cero y no convierte números fraccionarios. Esta es una extensión de Postgres.

Tenga en cuenta que el primero se agrega como prefijo al patrón de la plantilla y los otros dos se agregan como sufijo.

Ejemplo

Este es un ejemplo rápido que incluye un patrón de plantilla y un modificador.

SELECT to_char(1, '9th');

Resultado:

1st

En este caso, el 9 fue por el número (1 ), y el th se usó para agregar el indicador ordinal (en este caso, st ).