es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para formatear un número como 238350.50 en “238” usando SQL, puedes utilizar la siguiente consulta:

    SELECT CAST(ROUND(numero_x / 1000, 0) AS INT)
    

    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 en 0
    • 500 se convierte en 1
    • 1250 se convierte en 1
    • 22500 se convierte en 23
    • 231600 se convierte en 232

    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.

Comments are closed.