PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Шаблони и модификатори за числово форматиране в PostgreSQL

Тази страница съдържа пълния списък с шаблони и модификатори на шаблони, които могат да се използват при форматиране на числа в PostgreSQL.

Шаблони на шаблони

Следващата таблица изброява всички шаблони, които могат да се използват за цифрово форматиране в Postgres.

Шаблон Описание
9 Позиция на цифрата (може да бъде пропусната, ако е незначителна). Ако цифрата е водеща нула, тя ще бъде заменена с интервал. Ако е завършваща нула и е посочен режим на запълване (т.е. FM ), след което ще бъде изтрито.
0 Позиция на цифрата (няма да бъде изпусната, дори и да е незначителна). Това означава, че позицията на цифрата винаги ще се отпечатва, дори ако съдържа нула в началото/в края.
. (точка) десетична запетая. Игнорира локала.
, (запетая) Разделител на групи (хиляди). Игнорира локала.
PR Отрицателна стойност в ъглови скоби.
S Знакът, закотвен към номер (използва локал). Ако S се появява вляво от един или повече 9 s, знакът ще бъде закотвен към номера.
L Символ на валута (използва локал).
D Десетична запетая (използва локал).
G Разделител на групи (използва локал).
MI Знакът минус в определена позиция (ако числото <0). Не е закотвен към номера.
PL Знаете плюс в определена позиция (ако числото> 0). Не е закотвен към номера. Това е разширение на Postgres.
SG Знакът плюс/минус в определена позиция. Не е закотвен към номера. Това е разширение на Postgres.
RN Римска цифра (въвеждане между 1 и 3999).
TH или th Наставка на редно число. Те не преобразуват стойности по-малки от нула и не преобразуват дробни числа. Това са PostgreSQL разширения.
V Изместване на посочения брой цифри. Когато се използва с to_char() , това умножава входните стойности по 10^n , където n е броят на цифрите след V . Когато се използва с to_number() , той се разделя по подобен начин. И двете to_char() и to_number() не поддържат използването на V комбинирано с десетична запетая (напр. 99.9V99 не е позволено).
EEEE Експонента за научна нотация. Не може да се използва в комбинация с който и да е от другите шаблони за форматиране или модификатори, различни от модели на цифри и десетична запетая, и трябва да е в края на низа за форматиране (напр. 9.99EEEE е валиден модел).

Бележки:

  • И двете 0 и 9 са еквивалентни, когато се използват с to_number() функция.
  • Когато използвате to_number() функция, ако шаблони без данни, като L или TH се използват, съответният брой въведени знаци се пропускат, независимо дали съвпадат с шаблона или не, освен ако не са знаци за данни (т.е. цифри, знак, десетична точка или запетая). Например TH ще пропусне два знака, които не са данни.

Модификатори на шаблонен шаблон

Следните модификатори могат да бъдат приложени към горните шаблони за промяна на резултата.

Модификатор Описание
FM префикс Режим на запълване (потискане на крайните нули и празните полета).
TH наставка Наставка на порядков номер с главни букви. Не преобразува стойности по-малки от нула и не преобразува дробни числа. Това е разширение на Postgres.
th наставка Наставка на порядков номер с малки букви. Не преобразува стойности по-малки от нула и не преобразува дробни числа. Това е разширение на Postgres.

Обърнете внимание, че първият е добавен като префикс към шаблона, а други два се добавят като суфикс.

Пример

Ето един бърз пример, който включва както шаблон на шаблон, така и модификатор.

SELECT to_char(1, '9th');

Резултат:

1st

В този случай 9 беше за числото (1 ), и th беше използван за добавяне на порядковия индикатор (в този случай, 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. Генерирана стойност в Postgres

  2. Python psycopg2 не се вмъква в таблицата на postgresql

  3. Java Enums, JPA и Postgres enums - Как да ги накарам да работят заедно?

  4. PostgreSQL как да видите кои заявки са изпълнени

  5. SQL изберете елементи, където сумата на полето е по-малка от N