Einige DBMS bieten uns die Möglichkeit, eine Zahl als Währung zu formatieren, indem sie einen Formatbezeichner für das Währungssymbol bereitstellen. Die Bereitstellung eines solchen Formatbezeichners ermöglicht es dem DBMS, das entsprechende Währungssymbol für das Gebietsschema zurückzugeben.
MySQL hat keinen Bezeichner für das Währungsformat, daher müssen wir ein wenig zusätzliche Arbeit leisten, wenn wir möchten, dass das Währungssymbol zurückgegeben wird.
Beispiel
Hier ist ein Beispiel für die Rückgabe einer Zahl als Währung in MySQL:
SELECT CONCAT('$', FORMAT(1234.5678, 2));
Ergebnis:
$1,234.57
Hier haben wir den CONCAT()
verwendet Funktion zum Verketten des Währungssymbols und der Zahl. Wir haben auch das FORMAT()
verwendet Funktion, um die Nummer im gewünschten Format zu formatieren.
Geben Sie ein Gebietsschema an
Das FORMAT()
Die Funktion akzeptiert ein optionales drittes Argument für das Gebietsschema. Dadurch können Sie die Nummer mit dem angegebenen Gebietsschema formatieren.
Beispiel:
SELECT CONCAT('€', FORMAT(1234.5678, 2, 'de_DE'));
Ergebnis:
€1.234,57
In diesem Fall ist unser Währungssymbol das Euro-Symbol (€
) anstelle des Dollarzeichens, und wir haben angegeben, dass die Zahl gemäß den deutschen Nummerierungskonventionen formatiert werden soll, die einen Punkt als Gruppentrennzeichen und ein Komma als Dezimalpunkt verwenden.
Formatierung in der Anwendung vs. Datenbank
Es wird normalerweise empfohlen, die Währungsformatierung usw. auf Anwendungsebene und nicht auf Datenbankebene vorzunehmen. Anwendungsprogrammierumgebungen haben in der Regel bessere Formatierungsmöglichkeiten als DBMSs, und es ist normalerweise besser, unformatierte Daten von der DB zurückzugeben, damit die Anwendung mit einer sauberen Weste beginnen und sie nach Bedarf formatieren kann.
Allerdings erfordert die Situation manchmal eine Formatierung auf Datenbankebene, in diesem Fall können sich die oben genannten Techniken als nützlich erweisen.