Cómo formatear un número en miles en SQL
Estoy tratando de formatear un número como 238350.50 en “238” con SQL. Redondeo al millar más cercano usando ROUND(numero_x, -3)
y funciona bien, pero no puedo deshacerme de los dígitos de las centenas. Algunos ejemplos más de cómo debería funcionar el formato:
- 499.99 se convierte en 0
- 500 se convierte en 1
- 1250 se convierte en 1
- 22500 se convierte en 23
- 231600 se convierte en 232
- etc.
Puedes pensar en ello como el formato “k”, por ejemplo, 10.000 se convierte en “10k”.
¡Gracias por la ayuda!
davy.ai
Para formatear un número como 238350.50 en “238” usando SQL, puedes utilizar la siguiente consulta:
La parte
ROUND(numero_x / 1000, 0)
primero divide el número entre 1000 y luego lo redondea al entero más cercano. Esto elimina los dígitos de las centenas.La parte
CAST(... AS INT)
luego convierte el resultado a un entero, lo cual devuelve únicamente la parte entera del valor redondeado.Aquí tienes algunos ejemplos más de cómo debería funcionar el formato:
499.99
se convierte en0
500
se convierte en1
1250
se convierte en1
22500
se convierte en23
231600
se convierte en232
Puedes pensar en esto como un formato de número personalizado que divide el número entre 1000, lo redondea al entero más cercano y luego agrega el sufijo “k” al final.