sql >> Database teknologi >  >> RDS >> PostgreSQL

Skabelonmønstre og modifikatorer til numerisk formatering i PostgreSQL

Denne side indeholder den fulde liste over skabelonmønstre og skabelonmønstermodifikatorer, der kan bruges ved formatering af tal i PostgreSQL.

Skabelonmønstre

Følgende tabel viser alle skabelonmønstre, der kan bruges til numerisk formatering i Postgres.

Mønster Beskrivelse
9 Cifferposition (kan slettes, hvis den er ubetydelig). Hvis tallet er et indledende nul, vil det blive erstattet af et mellemrum. Hvis det er et efterfølgende nulpunkt, og udfyldningstilstand er angivet (dvs. FM ) så bliver den slettet.
0 Cifferposition (vil ikke blive slettet, selvom den er ubetydelig). Det betyder, at cifferpositionen altid vil blive udskrevet, selvom den indeholder et foran/efter nul.
. (punktum) Decimaltegn. Ignorerer lokalitet.
, (komma) Gruppe (tusinder) separator. Ignorerer lokalitet.
PR Negativ værdi i vinkelparenteser.
S Sign forankret til nummer (bruger lokalitet). Hvis S vises lige til venstre for en eller flere 9 s, vil skiltet være forankret til nummeret.
L Valutasymbol (bruger lokalitet).
D Decimaltegn (bruger lokalitet).
G Gruppeseparator (bruger lokalitet).
MI Minustegn i specificeret position (hvis nummer <0). Ikke forankret til nummeret.
PL Plustegn i specificeret position (hvis nummer> 0). Ikke forankret til nummeret. Dette er en Postgres-udvidelse.
SG Plus/minus-tegn i specificeret position. Ikke forankret til nummeret. Dette er en Postgres-udvidelse.
RN romertal (input mellem 1 og 3999).
TH eller th Ordinalt talsuffiks. Disse konverterer ikke værdier mindre end nul, og de konverterer ikke brøktal. Disse er PostgreSQL-udvidelser.
V Skift angivet antal cifre. Når det bruges sammen med to_char() , multiplicerer dette inputværdierne med 10^n , hvor n er antallet af cifre efter V . Når det bruges sammen med to_number() , deler den sig på lignende måde. Både to_char() og to_number() understøtter ikke brugen af V kombineret med et decimaltegn (f.eks. 99.9V99 er ikke tilladt).
EEEE Eksponent for videnskabelig notation. Kan ikke bruges i kombination med nogen af ​​de andre formateringsmønstre eller modifikatorer bortset fra ciffer- og decimaltegnsmønstre og skal være i slutningen af ​​formatstrengen (f.eks. 9.99EEEE er et gyldigt mønster).

Bemærkninger:

  • Begge 0 og 9 er ækvivalente, når de bruges sammen med to_number() funktion.
  • Når du bruger to_number() funktion, hvis ikke-dataskabelonmønstre såsom L eller TH bruges, springes det tilsvarende antal inputtegn over, uanset om de matcher skabelonmønsteret eller ej, medmindre de er datategn (dvs. cifre, tegn, decimaltegn eller komma). For eksempel TH ville springe to ikke-datategn over.

Skabelonmønstermodifikator

Følgende modifikatorer kan anvendes på ovenstående skabelonmønstre for at ændre resultatet.

Modifier Beskrivelse
FM præfiks Udfyldningstilstand (undertrykke efterfølgende nuller og udfyldning af blanke).
TH suffiks Ringtalssuffiks for store bogstaver. Konverterer ikke værdier mindre end nul og konverterer ikke brøktal. Dette er en Postgres-udvidelse.
th suffiks Suffiks for ordenstal med små bogstaver. Konverterer ikke værdier mindre end nul og konverterer ikke brøktal. Dette er en Postgres-udvidelse.

Bemærk, at den første tilføjes som et præfiks til skabelonmønsteret, og de to andre tilføjes som et suffiks.

Eksempel

Her er et hurtigt eksempel, der indeholder både et skabelonmønster og en modifikator.

SELECT to_char(1, '9th');

Resultat:

1st

I dette tilfælde er 9 var for tallet (1 ), og den th blev brugt til at tilføje ordensindikatoren (i dette tilfælde st ).


  1. Migrering af en MySQL-database fra CloudSQL til AWS RDS

  2. Fordele ved at bruge SQL Ordinal Position Notation?

  3. MySQL variabelt format for en NOT IN-liste med værdier

  4. Forståelse af virkningerne af høj latens i MySQL- og MariaDB-løsninger med høj tilgængelighed