Problemas con fechas
Publicado por Alex (7 intervenciones) el 26/10/2004 20:09:51
Holas;
Tengo un problema al comparar fechas: en la base de datos por ejemplo, tengo 2 fechas, una de inicio, la otra de fin, entonces lo ke intento hacer es ke al enviar 2 fechas a un procedimiento almacenado, se devuelvan los registros ke están dentro de ese rango.
(ej, tengo en la bd por ej, fecha inicio 16/10/2004 y fecha fin 17/10/2004, si le envío al procedimiento las fechas inicio:16/10/2004 y fin:17/10/2004 no devuelve nada, si le envío la fecha final :18/10/2004 tampoco, y si le envío fecha final 19/10/2004, me devuelve registros entre el 16 y el 19, todo ok, pero lo anterior no pasa nada). Además, siempre a la fecha de fin del parámetro le sumo 1 dia, pues en la base de datos se maneja la hora y el varchar solo tiene la fecha, dejando la hora en 0:00:00... por eso se pierden los registros ke tienen fecha igual pero la hora es superior al parámetro.
Los parametros los manejo como varchar, pero lo convierto a datetime. He tratado de utilizar BETWEEN, o hacerlo manualmente, le he dado formato a todas las fechas (ej. convert (datetime, fechainicio, 103) ) a todo lo ke sea fecha y no pasa nada.
A alguien le ha pasado??? estoy con SQL SErver 2000. Si alguien me puede ayudar,... gracias..
PD: he vuelto a probar y en la DB tengo fechas inicio 19/10/2004 y fin 20/10/2004, si envío como parámetros las fechas de inicio y fin = 19/10/2004 no hay problemas, igual ke si envío inicio 19/10/2004 y fin 20/10/2004
Tengo un problema al comparar fechas: en la base de datos por ejemplo, tengo 2 fechas, una de inicio, la otra de fin, entonces lo ke intento hacer es ke al enviar 2 fechas a un procedimiento almacenado, se devuelvan los registros ke están dentro de ese rango.
(ej, tengo en la bd por ej, fecha inicio 16/10/2004 y fecha fin 17/10/2004, si le envío al procedimiento las fechas inicio:16/10/2004 y fin:17/10/2004 no devuelve nada, si le envío la fecha final :18/10/2004 tampoco, y si le envío fecha final 19/10/2004, me devuelve registros entre el 16 y el 19, todo ok, pero lo anterior no pasa nada). Además, siempre a la fecha de fin del parámetro le sumo 1 dia, pues en la base de datos se maneja la hora y el varchar solo tiene la fecha, dejando la hora en 0:00:00... por eso se pierden los registros ke tienen fecha igual pero la hora es superior al parámetro.
Los parametros los manejo como varchar, pero lo convierto a datetime. He tratado de utilizar BETWEEN, o hacerlo manualmente, le he dado formato a todas las fechas (ej. convert (datetime, fechainicio, 103) ) a todo lo ke sea fecha y no pasa nada.
A alguien le ha pasado??? estoy con SQL SErver 2000. Si alguien me puede ayudar,... gracias..
PD: he vuelto a probar y en la DB tengo fechas inicio 19/10/2004 y fin 20/10/2004, si envío como parámetros las fechas de inicio y fin = 19/10/2004 no hay problemas, igual ke si envío inicio 19/10/2004 y fin 20/10/2004
Valora esta pregunta


0