sql >> Databasteknik >  >> RDS >> PostgreSQL

Mallmönster och modifierare för numerisk formatering i PostgreSQL

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^n , 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 och 9 är likvärdiga när de används med to_number() funktion.
  • När du använder to_number() funktion, om icke-datamallmönster som L eller TH 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 exempel TH 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 ).


  1. Django + Psycopg2:InterfaceError:endast protokoll 3 stöds

  2. Hur man returnerar alla inaktiverade främmande nyckelbegränsningar i SQL Server (T-SQL-exempel)

  3. Hur man hittar minimivärden i kolumner

  4. Alternativ till LIMIT och OFFSET för personsökning i Oracle