Questa pagina contiene l'elenco completo di modelli di modello e modificatori di modelli di modello che possono essere utilizzati durante la formattazione dei numeri in PostgreSQL.
Modelli di modello
La tabella seguente elenca tutti i modelli di modello che possono essere utilizzati per la formattazione numerica in Postgres.
Modello | Descrizione |
---|---|
9 | Posizione della cifra (può essere eliminata se insignificante). Se la cifra è uno zero iniziale, verrà sostituita da uno spazio. Se è uno zero finale e viene specificata la modalità di riempimento (ad esempio FM ) quindi verrà eliminato. |
0 | Posizione della cifra (non verrà eliminata, anche se insignificante). Ciò significa che la posizione della cifra verrà sempre stampata, anche se contiene uno zero iniziale/finale. |
. (punto) | Punto decimale. Ignora la locale. |
, (virgola) | Separatore di gruppo (migliaia). Ignora la locale. |
PR | Valore negativo tra parentesi angolari. |
S | Segno ancorato al numero (usa la localizzazione). Se S appare appena a sinistra di uno o più 9 s, il segno sarà ancorato al numero. |
L | Simbolo di valuta (usa la locale). |
D | Punto decimale (usa la locale). |
G | Separatore di gruppo (usa la locale). |
MI | Segno meno nella posizione specificata (se numero <0). Non ancorato al numero. |
PL | Segno più nella posizione specificata (se numero> 0). Non ancorato al numero. Questa è un'estensione di Postgres. |
SG | Segno più/meno nella posizione specificata. Non ancorato al numero. Questa è un'estensione di Postgres. |
RN | Numero romano (inserire tra 1 e 3999). |
TH o th | Suffisso del numero ordinale. Questi non convertono valori inferiori a zero e non convertono numeri frazionari. Queste sono estensioni di PostgreSQL. |
V | Sposta il numero di cifre specificato. Se utilizzato con to_char() , questo moltiplica i valori di input per 10^ , dove n è il numero di cifre che seguono V . Se utilizzato con to_number() , si divide in modo simile. Entrambi to_char() e to_number() non supportano l'uso di V combinato con un punto decimale (ad es. 99.9V99 non è consentito). |
EEEE | Esponente per la notazione scientifica. Non può essere utilizzato in combinazione con nessuno degli altri modelli di formattazione o modificatori diversi dai modelli di cifre e punti decimali e deve trovarsi alla fine della stringa di formato (ad es. 9.99EEEE è un modello valido). |
Note:
- Entrambi
0
e9
sono equivalenti se usati conto_number()
funzione. - Quando si utilizza il
to_number()
funzione, se modelli di modelli non di dati comeL
oTH
vengono utilizzati, il numero corrispondente di caratteri di input viene saltato, indipendentemente dal fatto che corrispondano o meno al modello del modello, a meno che non siano caratteri di dati (ad esempio cifre, segno, punto decimale o virgola). Ad esempio,TH
salterebbe due caratteri non di dati.
Modificatori del modello di modello
I seguenti modificatori possono essere applicati ai modelli di modello sopra per alterare il risultato.
Modificatore | Descrizione |
---|---|
FM prefisso | Modalità riempimento (sopprime zeri finali e spazi vuoti). |
TH suffisso | Suffisso del numero ordinale maiuscolo. Non converte valori inferiori a zero e non converte numeri frazionari. Questa è un'estensione di Postgres. |
th suffisso | Suffisso del numero ordinale minuscolo. Non converte valori inferiori a zero e non converte numeri frazionari. Questa è un'estensione di Postgres. |
Nota che il primo viene aggiunto come prefisso al modello del modello e gli altri due vengono aggiunti come suffisso.
Esempio
Ecco un rapido esempio che include sia un modello di modello che un modificatore.
SELECT to_char(1, '9th');
Risultato:
1st
In questo caso, il 9
era per il numero (1 ), e il th
è stato utilizzato per aggiungere l'indicatore ordinale (in questo caso, st ).