sql >> Database >  >> NoSQL >> MongoDB

Getallen opmaken met komma's in SQL

De meeste van de belangrijkste RDBMS'en hebben functies waarmee we getallen kunnen opmaken met komma's als groepsscheidingsteken of als decimaalteken.

Sommige RDBMS'en voeren ook bepaalde numerieke gegevenstypen uit met komma's op de relevante plaats.

Hieronder staan ​​voorbeelden van het opmaken van getallen met komma's in enkele van de meer populaire DBMS'en.

MySQL

In MySQL kunnen we de FORMAT() gebruiken functie om getallen op te maken met komma's:

SELECT FORMAT(123456.789, 2);

Resultaat:

123,456.79

Het is niet nodig om aan te geven waar de komma's moeten komen. De functie weet waar ze ze moeten plaatsen.

Deze functie accepteert ook een derde argument om de landinstelling op te geven. Niet alle landinstellingen gebruiken een komma als scheidingsteken voor groepen - sommige landinstellingen gebruiken een komma als decimaalteken. De FORMAT() functie is slim genoeg om te weten welke conventie te gebruiken.

Voorbeeld:

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

Resultaat:

123,456.79

Oracle

In Oracle kunnen we de TO_CHAR() gebruiken functie om een ​​getal op te maken met komma's:

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

Resultaat:

12,345.00

De G format-element is een tijdelijke aanduiding voor het groepsscheidingsteken en de D is voor het decimaalteken.

In dit geval voert het groepsscheidingsteken een komma uit en het decimale teken een punt. Dat komt omdat de NLS_TERRITORY . van mijn huidige sessie parameter is ingesteld op Australia .

Het is waar dat we gewoon een hardgecodeerde komma kunnen gebruiken in plaats van de G format-element, maar dat veronderstelt dat het groepsscheidingsteken een komma is. Niet alle landinstellingen gebruiken een komma als groepsscheidingsteken.

Zie Een getal opmaken met een komma in Oracle voor meer informatie en voorbeelden voor het opmaken van getallen met komma's in Oracle.

SQL-server

In SQL Server kunnen we de FORMAT() . gebruiken functie om getallen op te maken met komma's. Deze functie accepteert het getal en een opmaakreeks:

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

Resultaat:

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

De functie accepteert ook een optioneel 'cultuur'-argument voor het specificeren van de landinstelling die moet worden gebruikt voor de geformatteerde uitvoer.

U kunt ook uw eigen tekenreeks voor aangepaste indeling maken, zodat u precies kunt bepalen waar elk scheidingsteken voor duizendtallen en decimaaltekens komt.

Zie Getallen opmaken met komma's in SQL Server voor voorbeelden.

PostgreSQL

PostgreSQL heeft een TO_CHAR() functie die werkt als de gelijknamige functie van Oracle:

SELECT TO_CHAR(123456.78, 'fm999G999D99');

Resultaat:

123,456.78

Deze functie is bekend met de landinstelling, dus het zal de juiste groep en decimale scheidingstekens voor de landinstelling presenteren.

PostgreSQL heeft ook een money gegevenstype, dat wordt uitgevoerd in een locale-bewuste indeling. Zie Getallen opmaken met komma's in PostgreSQL voor een voorbeeld.

SQLite

SQLite is wat beperkter in vergelijking met de meeste andere DBMS'en. Het heeft echter wel een printf() functie waarmee we getallen kunnen opmaken volgens een opmaakreeks:

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

Resultaat:

123,456,789

Dit werkt prima met gehele getallen, maar reële/floating point getallen vergen wat meer werk. Zie Getallen opmaken met een komma in SQLite voor meer hierover.

Bijwerken :SQLite 3.38.0 (uitgebracht op 22 februari 2022) hernoemde de printf() functie naar format() . De originele printf() naam wordt behouden als een alias voor achterwaartse compatibiliteit.

Dus het bovenstaande voorbeeld kan hier in veranderd worden:

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

Resultaat:

123,456,789

MariaDB

In MariaDB kunnen we de FORMAT() gebruiken functie om een ​​getal op te maken met komma's:

SELECT FORMAT(123456.789, 2);

Resultaat:

123,456.79

Net als bij de MySQL-functie met dezelfde naam, is het niet nodig om aan te geven waar de komma's moeten komen. De functie weet waar ze ze moeten plaatsen.


  1. MongoDB $allElementsTrue

  2. Mongodb:kon geen verbinding maken met de server bij de eerste verbinding

  3. Hoe lid te worden van meerdere collecties met $lookup in mongodb

  4. Hoe Celery-taken te inspecteren en annuleren op taaknaam