MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да форматирате числа със запетаи в SQL

Повечето от основните RDBMS имат функции, които ни позволяват да форматираме числа със запетаи като разделител на групата или десетичен разделител.

Някои RDBMS също извеждат определени числови типове данни със запетаи на съответното място.

По-долу са дадени примери за форматиране на числа със запетаи в някои от по-популярните СУБД.

MySQL

В MySQL можем да използваме FORMAT() функция за форматиране на числа със запетаи:

SELECT FORMAT(123456.789, 2);

Резултат:

123,456.79

Няма нужда да посочвате къде трябва да се поставят запетаите. Функцията знае къде да ги постави.

Тази функция приема и трети аргумент за определяне на локала. Не всички локали използват запетая като разделител на групата – някои локали използват запетая като десетичен разделител. FORMAT() функцията е достатъчно интелигентна, за да знае коя конвенция да използва.

Пример:

SELECT FORMAT(123456.789, 2, 'de_DE');

Резултат:

123,456.79

Оракул

В Oracle можем да използваме TO_CHAR() функция за форматиране на число със запетаи:

SELECT TO_CHAR(12345, 'fm99G999D00')
FROM DUAL;

Резултат:

12,345.00

G Елементът format е заместител за разделителя на групата и D е за десетичния разделител.

В този случай разделителят на групата извежда запетая, а десетичният знак извежда точка. Това е така, защото моята текуща сесия е NLS_TERRITORY параметърът е настроен на Australia .

Вярно е, че можем просто да използваме твърдо кодирана запетая вместо G format елемент, но това предполага, че разделителят на групата е запетая. Не всички локали използват запетая като разделител на групата.

Вижте Как да форматирате число със запетая в Oracle за повече информация и примери за форматиране на числа със запетаи в Oracle.

SQL сървър

В SQL Server можем да използваме FORMAT() функция за форматиране на числа със запетаи. Тази функция приема числото и форматен низ:

SELECT 
    FORMAT(123456.789, 'N') AS "Number",
    FORMAT(123456.789, 'P') AS "Percent",
    FORMAT(123456.789, 'C') AS "Currency";

Резултат:

+------------+----------------+-------------+
| Number     | Percent        | Currency    |
|------------+----------------+-------------|
| 123,456.79 | 12,345,678.90% | $123,456.79 |
+------------+----------------+-------------+

Функцията също така приема незадължителен аргумент „култура“ за определяне на локала, който да се използва за форматирания изход.

Можете също така да създадете свой собствен персонализиран низ за формат, така че да можете да определите точно къде отива всеки разделител на хиляди и десетичен разделител.

Вижте Как да форматирате числа със запетаи в SQL Server за примери.

PostgreSQL

PostgreSQL има TO_CHAR() функция, която работи като едноименната функция на Oracle:

SELECT TO_CHAR(123456.78, 'fm999G999D99');

Резултат:

123,456.78

Тази функция е наясно с локала, така че ще представи подходящите групови и десетични разделители за локала.

PostgreSQL също има money тип данни, който се извежда във формат, който знае локал. Вижте Форматиране на числа със запетаи в PostgreSQL за пример.

SQLite

SQLite е малко по-ограничен в сравнение с повечето други СУБД. Той обаче има printf() функция, която ни позволява да форматираме числата според форматиращ низ:

SELECT printf("%,d", 123456789);

Резултат:

123,456,789

Това работи добре с цели числа, но реалните числа с плаваща запетая изискват малко повече работа. Вижте Форматиране на числа със запетая в SQLite за повече информация.

Актуализиране :SQLite 3.38.0 (издадена на 22 февруари 2022 г.) преименува printf() функция към format() . Оригиналният printf() името се запазва като псевдоним за обратна съвместимост.

Така че горният пример може да бъде променен на това:

SELECT format("%,d", 123456789);

Резултат:

123,456,789

MariaDB

В MariaDB можем да използваме FORMAT() функция за форматиране на число със запетаи:

SELECT FORMAT(123456.789, 2);

Резултат:

123,456.79

Както при едноименната функция MySQL, няма нужда да указвате къде трябва да отиват запетаите. Функцията знае къде да ги постави.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:пребройте броя на поява на думи в набор от документи

  2. MongoDB на Android

  3. Автоматизация и управление на бази данни с отворен код в облака - обявяване на ClusterControl 1.6

  4. mongo 3 дубликата на уникален индекс - dropDups

  5. Как се съхраняват данните в база данни MongoDB на диск?