Saludos.
Alquien me puede decir por qué demonios me dice que vale 2 esta sentencia SQL desde el SQL Analayzer?????
SELECT (5/2)
TANKA!!
Jo
| |||
la verdad es que no le veo mucho sentido a esa sentencia SQL. y me parece muy lógico que el resultado sea 2, ya que 5 dividido entre 2 es 2,... Qué es lo que quieres que salga en realidad? un saludo. |
| ||||
Quiza no me explique...pero toda pregunta tiene sentido porque surge de una duda. Saludos. El objeto de la sentencia propuesta es validar la sobrecarga de operaciones con numeros enteros con respecto a resultados decimales. Ahora bien, el hecho de que sea una constante sobre otra lo que busca es reflejar la operacion matematica realizada por la base de datos. El resultado correcto para una operacion de division es la cantidad entera con su parte decimal en caso de existir. Es por esto que select (5/2) debe dar exactamente 2.5 y no 2. El motor de base de datos estas realizando la operacion obviando la parte decimal y es la causa de mi pregunta. He conseguido resolver la situacion empleando la funcion CAST de la siguiente manera: select cast(5 as real)/2 el resultado que arroja es 2.5 que es el correcto.
__________________ José G. Díaz Unda Analista de Sistemas |