sql >> Database >  >> RDS >> Mysql

Getallen opmaken als valuta in MySQL

Sommige DBMS'en bieden ons de mogelijkheid om een ​​getal als valuta op te maken door een opmaakspecificatie voor het valutasymbool op te geven. Door zo'n formaatspecificatie op te geven, kan de DBMS het juiste valutasymbool voor de landinstelling retourneren.

MySQL heeft geen specificatie voor valuta-indeling, dus we moeten wat extra werk doen als we willen dat het valutasymbool wordt geretourneerd.

Voorbeeld

Hier is een voorbeeld van het retourneren van een getal als valuta in MySQL:

SELECT CONCAT('$', FORMAT(1234.5678, 2));

Resultaat:

$1,234.57

Hier gebruikten we de CONCAT() functie om het valutasymbool en het nummer samen te voegen. We gebruikten ook de FORMAT() functie om het getal in het gewenste formaat op te maken.

Geef een landinstelling op

De FORMAT() functie accepteert een optioneel derde argument voor de landinstelling. Hiermee kunt u het getal opmaken met de opgegeven landinstelling.

Voorbeeld:

SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));

Resultaat:

€1.234,57

In dit geval is ons valutasymbool het eurosymbool ( ) in plaats van het dollarteken, en we hebben gespecificeerd dat het getal moet worden opgemaakt volgens Duitse nummeringsconventies, waarbij een punt wordt gebruikt voor het groepsscheidingsteken en een komma voor het decimaalteken.

Formatteren in de applicatie versus database

Het wordt meestal aanbevolen om valuta-opmaak, enz. op toepassingsniveau te doen in plaats van op databaseniveau. Applicatieprogrammeeromgevingen hebben doorgaans betere formatteringsmogelijkheden dan DBMS'en, en het is meestal beter om niet-opgemaakte gegevens door de DB te laten retourneren, zodat de applicatie met een schone lei kan beginnen en deze naar behoefte kan formatteren.

Dat gezegd hebbende, vraagt ​​de situatie soms om opmaak op databaseniveau, in welk geval de bovenstaande technieken van pas kunnen komen.


  1. FIND_IN_SET() versus IN()

  2. Failover implementeren in MS SQL Server 2017 Standard

  3. Hoe to_char() werkt in PostgreSQL

  4. Hoe te herschrijven IS ONDERSCHEIDEN VAN en IS NIET ONDERSCHEIDEN VAN?