Cuando haces "(3/6)" estás dividiendo dos enteros, por lo que SQL Server intepreta que estas buscando un resultado entero, por eso te regresa 0.
Si divides "(3/6.0)" ó "(3.0/6)" ó "(3.0/6.0)", estas dividiendo uno de sus valores con decimales y entonces SQL Server interpreta que estas buscando valor con decimales y te regresa 0.500000
No se si es un error o no, pero así es como funciona desde hace mucho, o al menos desde la versión 2000 así funciona.
Puedes probarlo con todos los número que quieras, si ambos valores son enteros, te va a regresar un entero, si alguno de sus valores tiene decimales, te regresa un valor con decimales.
Última edición por ContraVeneno fecha: 07-03-2009 a las 17:42:59.
|