MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

So formatieren Sie Zahlen in MariaDB

MariaDB hat das FORMAT() Funktion, die eine Zahl basierend auf der angegebenen Formatzeichenfolge formatiert.

Es gibt die Zahl als formatierten String mit Tausender- und Dezimaltrennzeichen an der entsprechenden Stelle zurück und rundet das Ergebnis auf die angegebene Dezimalstelle.

Sie können optional einen Gebietsschemawert angeben, um Zahlen nach dem für die jeweilige Region geeigneten Muster zu formatieren.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT FORMAT(123456.789, 2);

Ergebnis:

123,456.79

In diesem Fall habe ich 2 angegeben für das zweite Argument, und so wurde die Zahl auf zwei Dezimalstellen gerundet.

Außerdem wurde ein Komma für das Tausendertrennzeichen und ein Punkt/Punkt für das Dezimaltrennzeichen verwendet.

Hier ist ein weiteres Beispiel, das andere Werte für das zweite Argument verwendet:

SELECT 
    FORMAT(123456.789, 0) AS "1",
    FORMAT(123456.789, 4) AS "2",
    FORMAT(123456.789, 6) AS "3";

Ergebnis:

+---------+--------------+----------------+
| 1       | 2            | 3              |
+---------+--------------+----------------+
| 123,457 | 123,456.7890 | 123,456.789000 |
+---------+--------------+----------------+

Geben Sie ein Gebietsschema an

Hier sind einige Beispiele für die Angabe des Gebietsschemas:

SELECT 
    FORMAT(123456.789, 2, 'ta_IN') AS "Tamil, India",
    FORMAT(123456.789, 2, 'de_DE') AS "German, Germany",
    FORMAT(123456.789, 2, 'zh_HK') AS "Chinese, Hong Kong";

Ergebnis:

+--------------+-----------------+--------------------+
| Tamil, India | German, Germany | Chinese, Hong Kong |
+--------------+-----------------+--------------------+
| 1,23,456.79  | 123.456,79      | 123,456.79         |
+--------------+-----------------+--------------------+

Siehe So zeigen Sie alle Gebietsschemata in MariaDB an, um eine Liste der Gebietsschemata zu erhalten, die mit dieser Funktion angegeben werden können.

Formatierung als Währung

Das FORMAT() Die Funktion bietet keine Möglichkeit, die Zahl als Währung zu formatieren. Sie können jedoch den CONCAT() verwenden Funktion, um die Ergebnisse mit dem Währungssymbol Ihrer Wahl zu verketten:

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

Ergebnis:

$8,790.24

Dies erfordert natürlich, dass Sie das richtige Währungssymbol für das verwendete Gebietsschema angeben.