Cita:
Iniciado por Mithrandir A uno de mis "maestros" de SQL Server le pregunté exactamente lo mismo, cuando veíamos los temas de performance (había escuchado eso para Oracle).
Su respuesta fue que simplemente el optimizador de SQL Server convierte los BETWEEN en <= y >=, así que no hay diferencia de performance... fuera del performance del cerebro que está escribiendo los querys.
En su momento lo probé y el resultado fue exactamente lo que él me comentó, y lo que Andrés acaba de revisar.
Si, ya decia yo...
Entonces seguire usando en between....
----
Por otro lado Hebam, si los promedios salen diferentes puede ser porque en algunos valores el campo telefonico.total es nulo...
Exactamente que guarda ese valor?
podrias darnos un ejemplo de un calculo que realiza erroneamente ?
Código:
SELECT s.sucursal
,s.nombre
,COUNT(*) AS total
,AVG(isnull(t.total),0) AS media
FROM sucursal s
Left outer join
telefonico t
ON s.sucursal = t.nombre
WHERE t.region = '1' AND
t.fcaptura BETWEEN CONVERT(DATETIME, '2007-08-01 00:00:00', 102) AND CONVERT(DATETIME, '2007-08-31 00:00:00', 102))
GROUP BY
,s.sucursal
,s.nombre
ORDER BY
s.sucursal
Saludos!