Tengo el valor 1555.4899999999998
almacenado en una columna float
con precisión predeterminada (53). Cuando hago un simple select
, SSMS redondea la salida en lugar de imprimirla con toda la precisión disponible. Me ha causado algunos problemas recientemente, ya que el valor impreso no funciona como un literal float
para que coincida con el valor almacenado real.Salida de precisión completa de los tipos de coma flotante en SQL Server Management Studio
Por ejemplo (en cuenta que ambos de estos números tienen una representación exacta en el defecto float
),
declare @f1 float
declare @f2 float
set @f1 = 1555.49
set @f2 = 1555.4899999999998
select @f1, @f2
select STR(@f1,30,15), STR(@f2,30,15)
Salidas:
1555.49 1555.49
1555.490000000000000 1555.489999999999800
En Analizador de consultas, que los primeros select
salidas:
1555.49 1555.4899999999998
Ese es el comportamiento que quiero obtener de Management Studio. ¿Hay alguna manera de evitar que el SSMS se redondee en la pantalla de resultados?
El esquema de base de datos está fuera de mi control, Desafortunadamente. Estoy 100% de acuerdo en que 'flotar 'es una mala opción para esta aplicación, pero si fuera del tipo correcto, esperaría una representación más precisa en Management Studio. – Simon