FORMAT
Rundet eine Zahl und formatiert sie als String mit Tausendertrennzeichen.
MySQL 8.1
FORMAT(num, decimals[, locale])Parameter
- numDECIMAL
- Zu formatierende Zahl
- decimalsINT
- Anzahl der Nachkommastellen, eine negative zählt als 0
- localeVARCHARoptional
- Regeln für die Schreibweise, zum Beispiel de_DE oder ru_RU, standardmäßig en_US
Rückgabewert
String wie 1,234,567.89; NULL, wenn num NULL ist
Beispiele
Tausendertrennzeichen
MySQL 8.1
SELECT FORMAT(1234567.891, 2) AS formatted;Deutsche und russische Schreibweise
MySQL 8.1
SELECT FORMAT(1234567.891, 2, 'de_DE') AS de,
FORMAT(1234567.891, 2, 'ru_RU') AS ru;Ausgaben je Familienmitglied
MySQL 8.1
SELECT family_member,
FORMAT(SUM(amount * unit_price), 0) AS spent
FROM Payments
GROUP BY family_member
ORDER BY SUM(amount * unit_price) DESC;Details
Das Ergebnis ist ein String, daher kannst du danach nicht wie nach einer Zahl sortieren oder vergleichen: '9,000' ist dann größer als '10,000'. Sortiere nach dem Ausgangsausdruck und verwende FORMAT nur für die Ausgabe. Bei .5 wird von null weg gerundet, wie bei ROUND.