Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Sentencia Sql Loca!!!!

Estas en el tema de Sentencia Sql Loca!!!! en el foro de Bases de Datos General en Foros del Web. 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...
  #1 (permalink)  
Antiguo 23/07/2003, 03:08
Avatar de josego  
Fecha de Ingreso: enero-2002
Mensajes: 126
Antigüedad: 22 años, 3 meses
Puntos: 0
Sentencia Sql Loca!!!!

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
__________________
José G. Díaz Unda
Analista de Sistemas
  #2 (permalink)  
Antiguo 23/07/2003, 07:38
 
Fecha de Ingreso: julio-2003
Mensajes: 76
Antigüedad: 20 años, 10 meses
Puntos: 0
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.
  #3 (permalink)  
Antiguo 23/07/2003, 13:39
Avatar de josego  
Fecha de Ingreso: enero-2002
Mensajes: 126
Antigüedad: 22 años, 3 meses
Puntos: 0
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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:45.