PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Wzorce i modyfikatory szablonów do formatowania liczb w PostgreSQL

Ta strona zawiera pełną listę wzorców szablonów i modyfikatorów wzorców szablonów, których można użyć podczas formatowania liczb w PostgreSQL.

Wzorce szablonów

Poniższa tabela zawiera listę wszystkich wzorców szablonów, których można użyć do formatowania liczb w Postgresie.

Wzór Opis
9 Pozycja cyfry (może zostać pominięta, jeśli jest nieznaczna). Jeśli cyfra jest wiodącym zerem, zostanie zastąpiona spacją. Jeśli jest to końcowe zero i określono tryb wypełnienia (np. FM ), a następnie zostanie usunięty.
0 Pozycja cyfry (nie zostanie usunięta, nawet jeśli jest nieznaczna). Oznacza to, że pozycja cyfry będzie zawsze drukowana, nawet jeśli zawiera początkowe/końcowe zero.
. (kropka) Krok dziesiętny. Ignoruje ustawienia regionalne.
, (przecinek) Separator grup (tysiące). Ignoruje ustawienia regionalne.
PR Wartość ujemna w nawiasach ostrych.
S Podpisz zakotwiczony do numeru (używa ustawień regionalnych). Jeśli S pojawia się tuż na lewo od co najmniej jednego 9 s, znak będzie zakotwiczony do numeru.
L Symbol waluty (używa ustawień regionalnych).
D Krok dziesiętny (używa ustawień regionalnych).
G Separator grup (używa ustawień regionalnych).
MI Znak minus na określonej pozycji (jeśli liczba <0). Nie zakotwiczone do numeru.
PL Znak plus w określonej pozycji (jeśli liczba> 0). Nie zakotwiczony do numeru. To jest rozszerzenie Postgres.
SG Znak plus/minus w określonej pozycji. Nie zakotwiczony do numeru. To jest rozszerzenie Postgres.
RN Liczba rzymska (wprowadź od 1 do 3999).
TH lub th Sufiks liczby porządkowej. Nie konwertują one wartości mniejszych od zera i nie konwertują liczb ułamkowych. To są rozszerzenia PostgreSQL.
V Przesuń określoną liczbę cyfr. W przypadku użycia z to_char() , to mnoży wartości wejściowe przez 10^n , gdzie n to liczba cyfr po V . W przypadku użycia z to_number() dzieli się w podobny sposób. Obie opcje to_char()to_number() nie obsługują używania V w połączeniu z kropką dziesiętną (np. 99.9V99 nie jest dozwolone).
EEEE Wykładnik notacji naukowej. Nie może być używany w połączeniu z żadnym innym wzorcem formatowania lub modyfikatorami innym niż wzorce cyfr i przecinków dziesiętnych i musi znajdować się na końcu ciągu formatu (np. 9.99EEEE jest prawidłowym wzorcem).

Uwagi:

  • Oba 0 i 9 są równoważne, gdy są używane z to_number() funkcja.
  • W przypadku korzystania z to_number() funkcja, jeśli wzorce niebędące szablonami danych, takie jak L lub TH są używane, odpowiednia liczba znaków wejściowych jest pomijana, niezależnie od tego, czy pasują one do wzorca szablonu, chyba że są to znaki danych (tj. cyfry, znak, kropka dziesiętna lub przecinek). Na przykład TH pominie dwa znaki niebędące danymi.

Modyfikatory wzorców szablonów

Poniższe modyfikatory można zastosować do powyższych wzorców szablonów, aby zmienić wynik.

Modyfikator Opis
FM przedrostek Tryb wypełniania (pomija końcowe zera i puste miejsca).
TH przyrostek Sufiks liczby porządkowej wielkich liter. Nie konwertuje wartości mniejszych od zera i nie konwertuje liczb ułamkowych. To jest rozszerzenie Postgres.
th przyrostek Przyrostek liczby porządkowej małych liter. Nie konwertuje wartości mniejszych od zera i nie konwertuje liczb ułamkowych. To jest rozszerzenie Postgres.

Zauważ, że pierwszy jest dodawany jako przedrostek do wzorca szablonu, a pozostałe dwa są dodawane jako przyrostek.

Przykład

Oto krótki przykład, który zawiera zarówno wzorzec szablonu, jak i modyfikator.

SELECT to_char(1, '9th');

Wynik:

1st

W tym przypadku 9 był dla numeru (1 ) i th został użyty do dodania wskaźnika porządkowego (w tym przypadku st ).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja CONCAT() w PostgreSQL

  2. Jak zaktualizować wybrane wiersze wartościami z pliku CSV w Postgresie?

  3. Nie można połączyć postgreSQL z psycopg2

  4. 4 sposoby na wybranie zduplikowanych wierszy w PostgreSQL

  5. PG::ConnectionBad:fe_sendauth:brak hasła