in

Comunidad .Net Guatemala

Comunidad de desarrolladores en .net de Guatemala

Manolo Herrera

División de Enteros Retorna 0 en SQL Server 2005

Síntoma:

Una lección que no olvidaré, realizando un Query en SQL Server 2005 el valor que estada dividiendo eran enteros y como el divisor era mayor el valor era menor a cero pero SQL retorna un valor entero por que los valores que estaba dividiendo eran enteros y al ser menor que cero obviamente devolvía cero.

Solución:

Casteamos tanto el divisor como el dividendo en decimal y entonces SQL Server devolvió un valor decimal.  Y eso fue todo

 

Code4Fun!,

 

Manolo Herrera

 

P.D. Casteamos termino para indicar que convertimos un tipo en otro, como por ejemplo: Entero a Decimal.

Comments

 

Ricardo said:

Excelente anotación, solo me gustaría agregar que así como hay precedencia de operadores, en SQL Server, también hay precedencia de tipos de datos y debido a la precedencia de tipos de datos es que el motor de la base de datos te devolvía cero.

msdn.microsoft.com/.../ms190309.aspx

msdn.microsoft.com/.../ms175009(SQL.90).aspx

January 8, 2009 4:31 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
Powered by Community Server (Commercial Edition), by Telligent Systems