Den här sidan innehåller hela listan över mallmönster och mallmönstermodifierare som kan användas vid formatering av tal i PostgreSQL.
Mallmönster
Följande tabell listar alla mallmönster som kan användas för numerisk formatering i Postgres.
Mönster | Beskrivning |
---|---|
9 | Sifferposition (kan släppas om den är obetydlig). Om siffran är en inledande nolla kommer den att ersättas med ett mellanslag. Om det är en avslutande nolla och fyllningsläge anges (dvs. FM ) så kommer den att raderas. |
0 | Sifferposition (kommer inte att tas bort, även om den är obetydlig). Detta innebär att siffran alltid kommer att skrivas ut, även om den innehåller en inledande/efterföljande nolla. |
. (period) | Decimalkomma. Ignorerar språk. |
, (komma) | Grupp (tusentals) separator. Ignorerar språk. |
PR | Negativt värde inom vinkelparenteser. |
S | Tecknet förankrat till nummer (använder språk). Om S visas precis till vänster om en eller flera 9 s kommer tecknet att förankras till numret. |
L | Valutasymbol (använder språk). |
D | Decimalkomma (använder språk). |
G | Gruppseparator (använder språk). |
MI | Minustecken i angiven position (om nummer <0). Inte förankrat till numret. |
PL | Plustecken i angiven position (om nummer> 0). Inte förankrat i numret. Det här är ett Postgres-tillägg. |
SG | Plus/minustecken i angiven position. Inte förankrat i numret. Det här är ett Postgres-tillägg. |
RN | Romersk siffra (inmatning mellan 1 och 3999). |
TH eller th | Ordinalnummersuffix. Dessa konverterar inte värden mindre än noll och de konverterar inte bråktal. Dessa är PostgreSQL-tillägg. |
V | Skift angivet antal siffror. När den används med to_char() , multiplicerar detta inmatningsvärdena med 10^ , där n är antalet siffror efter V . När den används med to_number() , den delar sig på liknande sätt. Båda to_char() och to_number() stöder inte användningen av V kombinerat med en decimalkomma (t.ex. 99.9V99 är inte tillåtet). |
EEEE | Exponent för vetenskaplig notation. Kan inte användas i kombination med något av de andra formateringsmönstren eller modifierarna förutom siffror och decimaler, och måste finnas i slutet av formatsträngen (t.ex. 9.99EEEE är ett giltigt mönster). |
Anmärkningar:
- Båda
0
och9
är likvärdiga när de används medto_number()
funktion. - När du använder
to_number()
funktion, om icke-datamallmönster somL
ellerTH
används, hoppas motsvarande antal inmatade tecken över, oavsett om de matchar mallmönstret eller inte, såvida de inte är datatecken (d.v.s. siffror, tecken, decimalkomma eller komma). Till exempelTH
skulle hoppa över två icke-datatecken.
Mallmönstermodifierare
Följande modifierare kan tillämpas på ovanstående mallmönster för att ändra resultatet.
Modifierare | Beskrivning |
---|---|
FM prefix | Fyllningsläge (undertryck efterföljande nollor och utfyllnadsblanketter). |
TH suffix | Versala ordningsnummersuffix. Konverterar inte värden mindre än noll och konverterar inte bråktal. Det här är ett Postgres-tillägg. |
th suffix | Gemena ordningstalssuffix. Konverterar inte värden mindre än noll och konverterar inte bråktal. Det här är ett Postgres-tillägg. |
Observera att den första läggs till som ett prefix till mallmönstret och de andra två läggs till som ett suffix.
Exempel
Här är ett snabbt exempel som inkluderar både ett mallmönster och en modifierare.
SELECT to_char(1, '9th');
Resultat:
1st
I det här fallet, 9
var för numret (1 ), och den th
användes för att lägga till ordinalindikatorn (i det här fallet st ).