PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Modèles de modèles et modificateurs pour le formatage numérique dans PostgreSQL

Cette page contient la liste complète des modèles de modèle et des modificateurs de modèle de modèle qui peuvent être utilisés lors du formatage des nombres dans PostgreSQL.

Modèles de modèle

Le tableau suivant répertorie tous les modèles de modèles pouvant être utilisés pour le formatage numérique dans Postgres.

Modèle Description
9 Position du chiffre (peut être supprimé si non significatif). Si le chiffre est un zéro non significatif, il sera remplacé par un espace. S'il s'agit d'un zéro final et que le mode de remplissage est spécifié (c'est-à-dire FM ) alors il sera supprimé.
0 Position du chiffre (ne sera pas supprimé, même s'il est insignifiant). Cela signifie que la position du chiffre sera toujours imprimée, même si elle contient un zéro de tête/de fin.
. (point) Point décimal. Ignore les paramètres régionaux.
, (virgule) Séparateur de groupe (milliers). Ignore les paramètres régionaux.
PR Valeur négative entre crochets.
S Signe ancré au numéro (utilise les paramètres régionaux). Si S apparaît juste à gauche d'un ou plusieurs 9 s, le signe sera ancré au numéro.
L Symbole monétaire (utilise les paramètres régionaux).
D Point décimal (utilise les paramètres régionaux).
G Séparateur de groupe (utilise les paramètres régionaux).
MI Signe moins à la position spécifiée (si nombre <0). Non ancré au numéro.
PL Signe plus à la position spécifiée (si nombre> 0). Non ancré au nombre. Il s'agit d'une extension Postgres.
SG Signe plus/moins à la position spécifiée. Non ancré au nombre. Il s'agit d'une extension Postgres.
RN Chiffre romain (saisir entre 1 et 3999).
TH ou th Suffixe du nombre ordinal. Ceux-ci ne convertissent pas les valeurs inférieures à zéro et ils ne convertissent pas les nombres fractionnaires. Ce sont des extensions PostgreSQL.
V Décaler le nombre de chiffres spécifié. Lorsqu'il est utilisé avec to_char() , cela multiplie les valeurs d'entrée par 10^n , où n est le nombre de chiffres après V . Lorsqu'il est utilisé avec to_number() , il se divise de la même manière. Les deux to_char() et to_number() ne prennent pas en charge l'utilisation de V combiné avec un point décimal (par exemple, 99.9V99 n'est pas autorisé).
EEEE Exposant pour la notation scientifique. Ne peut pas être utilisé en combinaison avec l'un des autres modèles de mise en forme ou modificateurs autres que les modèles de chiffres et de points décimaux, et doit être à la fin de la chaîne de format (par exemple, 9.99EEEE est un modèle valide).

Remarques :

  • Les deux 0 et 9 sont équivalents lorsqu'ils sont utilisés avec le to_number() fonction.
  • Lorsque vous utilisez to_number() fonction, si des modèles non-modèle de données tels que L ou TH sont utilisés, le nombre correspondant de caractères d'entrée est ignoré, qu'ils correspondent ou non au modèle de modèle, sauf s'il s'agit de caractères de données (c'est-à-dire des chiffres, un signe, un point décimal ou une virgule). Par exemple, TH sauterait deux caractères non-données.

Modificateurs de modèle de modèle

Les modificateurs suivants peuvent être appliqués aux modèles de modèles ci-dessus pour modifier le résultat.

Modificateur Description
FM préfixe Mode de remplissage (supprime les zéros de fin et les blancs de remplissage).
TH suffixe Suffixe de nombre ordinal en majuscules. Ne convertit pas les valeurs inférieures à zéro et ne convertit pas les nombres fractionnaires. Il s'agit d'une extension Postgres.
th suffixe Suffixe du nombre ordinal en minuscules. Ne convertit pas les valeurs inférieures à zéro et ne convertit pas les nombres fractionnaires. Il s'agit d'une extension Postgres.

Notez que le premier est ajouté en tant que préfixe au modèle de modèle et les deux autres sont ajoutés en tant que suffixe.

Exemple

Voici un exemple rapide qui inclut à la fois un modèle de modèle et un modificateur.

SELECT to_char(1, '9th');

Résultat :

1st

Dans ce cas, le 9 était pour le nombre (1 ), et le th a été utilisé pour ajouter l'indicateur ordinal (dans ce cas, st ).