06/11/2012, 13:05
|
| Colaborador | | Fecha de Ingreso: febrero-2009 Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses Puntos: 360 | |
Respuesta: valores diferentes between vs operadores de comparacion Hola Kimera1302
Hay que tener en cuenta varios aspectos:
1. En teoria las consultas deberían arrojar el mismo numero de registros. Puede haber unos registros (por horas especificas) que no contemple la segunda consulta.
2. La forma como lo hace tu jefe esta bien funcionalmente, pero esta realizando conversiones innecesarias. Ademas, puede estar afectando el uso de indices.
Si mmt.TRANSACTION_DATE es de tipo date, es irrelevante llevarlo a char y luego volverlo a llevar a date. La comparacion debería ser directa. and mmt.TRANSACTION_DATE >= to_date(:p_fecha_ini,'YYYY-MM-DD')
and mmt.TRANSACTION_DATE <= to_date(:p_fecha_fin,'YYYY-MM-DD')
En la clausula between sería como tu dices, pero haciendo uso de la función to_date, para evitar problemas en la codificacion de tu base de datos.
Imaginate esta fecha: 03/04/2012. Si el nls_date de tu mase de datos es mm/dd/aaaa o i es dd/mm/yyyy tendrá resultados diferentes.
Mi consejo es que quede con between. Es una consulta mucho mas limpia y sin conversiones innecesarias.
saludos
__________________ Without data, You are another person with an opinion.
W. Edwads Deming |