2009-11-04 8 views

Respuesta

10

Prueba este

select CAST(round(100.5555, 2) AS DECIMAL(8,2)) 
+0

¿Qué pasa si no conozco la longitud 8, lo único que sé es que necesito 2 dígitos para dot? – Alex

+1

@astander: Lo tengo, 8 es máximo, así que puedo poner cualquier número lo suficientemente grande. ¡Gracias! – Alex

+0

No puede dar una columna dentro de la función DECIMAL (8, xxx) –

1

declarar @d decimal (8,2) puede ayudarlo.

4

Usted podría volver a echarlo como su tipo de datos original, por ejemplo,

SELECT CAST(ROUND(100.5555, 2) AS FLOAT) 

Sin embargo, esto suena como la lógica de visualización y, por tanto, sospecho que es mejor hacer esto dentro de su interfaz de usuario en lugar de su base de datos.

+0

no funciona en MySQL –

+0

Se necesitaba esta versión ya que mi consulta especificaba la RONDA basada en unidades SI, y variaba fila por fila, como @NicolasThery indicó - No se puede pasar en una columna a la función DECIMAL, pero se puede pasar a la ROUND. – Morvael

Cuestiones relacionadas