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.

Redondee al décimo siguiente, reste 0.02.

Tengo una tabla de ITEMS con una columna de PRECIO. He agregado un 4% al precio utilizando las funciones incorporadas en la aplicación, pero eso deja el resultado en un formato poco amigable para la venta al por menor. Quiero que todos los precios terminen con 8 (así que $24.93 se convierte en $24.98).

Necesito reemplazar el PRECIO con un PRECIO redondeado al décimo siguiente, y luego restarle 0.02. Esto haría que 24.93 se convierta en 25 y luego le reste 0.02, dejándolo en 24.98.

¿Podría alguien ayudarme a crear una consulta SQL para hacer esto?

Quizás algo como UPDATE ITEMS SET PRICE=(ROUND (PRICE,2)-.02)?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para redondear el precio al décimo más cercano, puedes usar la función CEILING. Entonces la consulta se vería así:

    UPDATE ITEMS SET PRICE=(CEILING(PRICE*10)/10)-0.02
    

    Esto primero multiplicará el precio por 10, luego redondeará hacia arriba al entero más cercano (lo cual efectivamente redondea al décimo más cercano), después dividirá entre 10 para obtener el precio redondeado. Finalmente, restará 0.02 como se solicita.

    Nota: Esta consulta asume que la columna de precio es de tipo numérico. Si se almacena como una cadena, deberás convertirla primero a un tipo de dato numérico antes de realizar cualquier cálculo.

Comments are closed.