FORMAT
Redondea un número y le da formato de cadena con separadores de miles.
MySQL 8.4
FORMAT(num, decimals[, locale])- [ ]parte opcional
- num
- Número al que se da formatoDECIMAL
- decimals
- Número de decimales; uno negativo cuenta como 0INT
- locale
- Configuración regional que define el formato del número, por ejemplo de_DE o ru_RU; por defecto, en_USVARCHAROpcional
Valor devuelto
Cadena como 1,234,567.89; NULL si num es NULL
Ejemplos
Separadores de miles
MySQL 8.4
SELECT FORMAT(1234567.891, 2) AS formatted;Formato alemán y ruso
MySQL 8.4
SELECT FORMAT(1234567.891, 2, 'de_DE') AS de,
FORMAT(1234567.891, 2, 'ru_RU') AS ru;Gastos por miembro de la familia
MySQL 8.4
SELECT family_member,
FORMAT(SUM(amount * unit_price), 0) AS spent
FROM Payments
GROUP BY family_member
ORDER BY SUM(amount * unit_price) DESC;Detalles
El resultado es una cadena, así que después no puedes ordenar ni comparar como con un número: '9,000' resulta mayor que '10,000'. Ordena por la expresión de origen y usa FORMAT solo para mostrar el resultado. En .5 se redondea alejándose de cero, como en ROUND.