Referencia de funciones

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 formato
DECIMAL
decimals
Número de decimales; uno negativo cuenta como 0
INT
locale
Configuración regional que define el formato del número, por ejemplo de_DE o ru_RU; por defecto, en_US
VARCHAROpcional

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;
formatted
1,234,567.89

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;
deru
1.234.567,891 234 567,89

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;
family_memberspent
274,644
112,504
33,659
51,076
4650

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.

Véase también