Filtrar tabla por fecha actual

21/12/2010 - 09:44 por rogelio | Informe spam
Un saludo a todos y mi duda es la siguiente.
Tengo una tabla que posee un campo llamado FechaRecordar, y un procedimiento almacenado que filtra por la fecha del servidor( o esa es la idea), pero solo me deja comparar con >= o <= y me trae mas filas de las deseadas solo requiero las filas que coincidan con la fecha actual del servidor, tengo el siguiente codigo en sql 2008 r2:

SELECT tbAcciones.IdCliente, tbAcciones.IdAccion, tbAcciones.FechaAccion, tbAcciones.FechaRecordar, tbAcciones.Comentario, tbClientes.Nombre, tbClientes.Empresa, tbTiposAccion.Descripcion
FROM tbAcciones, tbClientes, tbTiposAccion
WHERE (tbAcciones.IdCliente=tbClientes.IdCliente and tbAcciones.IdAccion=tbTiposAccion.IdTipoAccion and (tbAcciones.FechaRecordar >= GETDATE())) ORDER BY tbAcciones.FechaRecordar DESC
END

Tambien eh intentado asignandole el valor de la fecha del servidor a una variable, pero la comparacion es >= o <=, luego lo quise filtrar desde el datagridview con C# y me pasa lo mismo la comparacion de fecha siempre es del mismo modo ya no se me ocurre nada, les agradeceria un poco de ayuda.

Preguntas similare

Leer las respuestas

#1 nano0511
01/02/2011 - 19:36 | Informe spam
rogelio escribió el 21/12/2010 09:44 :
Un saludo a todos y mi duda es la siguiente.
Tengo una tabla que posee un campo llamado FechaRecordar, y un procedimiento
almacenado que filtra por la fecha del servidor( o esa es la idea), pero solo
me deja comparar con >= o <= y me trae mas filas de las deseadas solo
requiero las filas que coincidan con la fecha actual del servidor, tengo el
siguiente codigo en sql 2008 r2:

SELECT tbAcciones.IdCliente, tbAcciones.IdAccion, tbAcciones.FechaAccion,
tbAcciones.FechaRecordar, tbAcciones.Comentario, tbClientes.Nombre,
tbClientes.Empresa, tbTiposAccion.Descripcion
FROM tbAcciones, tbClientes, tbTiposAccion
WHERE (tbAcciones.IdCliente=tbClientes.IdCliente and
tbAcciones.IdAccion=tbTiposAccion.IdTipoAccion and (tbAcciones.FechaRecordar
>= GETDATE())) ORDER BY tbAcciones.FechaRecordar DESC
END

Tambien eh intentado asignandole el valor de la fecha del servidor a una
variable, pero la comparacion es >= o <=, luego lo quise filtrar desde el
datagridview con C# y me pasa lo mismo la comparacion de fecha siempre es del
mismo modo ya no se me ocurre nada, les agradeceria un poco de ayuda.


Amigo no se si sirve pero te paso lo que pienso, cuando ejecutas el getdate() el resultado es fecha y hora, tu problema es la hora tendrias que tomar solamente la fecha del server lo haria con el siguiente codigo
tbAcciones.FechaRecordar = convert(varchar(50),getdate(),101)

O utilizaria el comando between con el sigueinte codigo

declare @dateto varchar(50)
declare @datefrom varchar(50)

set @datefrom = convert(varchar(50),getdate(),101) + '00:00:00'
set @dateto = convert(varchar(50),getdate(),101) + '23:59:59'

tbAcciones.FechaRecordar between @datefrom and @dateto (esto dentro del where)

Saludos

Ignacio
Respuesta Responder a este mensaje
#2 rogelio
01/02/2011 - 23:29 | Informe spam
nano0511 escribió el 01/02/2011 19:36 :
rogelio escribió el 21/12/2010 09:44 :
Un saludo a todos y mi duda es la siguiente.
Tengo una tabla que posee un campo llamado FechaRecordar, y un procedimiento
almacenado que filtra por la fecha del servidor( o esa es la idea), pero solo
me deja comparar con >= o <= y me trae mas filas de las deseadas solo
requiero las filas que coincidan con la fecha actual del servidor, tengo el
siguiente codigo en sql 2008 r2:

SELECT tbAcciones.IdCliente, tbAcciones.IdAccion, tbAcciones.FechaAccion,
tbAcciones.FechaRecordar, tbAcciones.Comentario, tbClientes.Nombre,
tbClientes.Empresa, tbTiposAccion.Descripcion
FROM tbAcciones, tbClientes, tbTiposAccion
WHERE (tbAcciones.IdCliente=tbClientes.IdCliente and
tbAcciones.IdAccion=tbTiposAccion.IdTipoAccion and (tbAcciones.FechaRecordar
>= GETDATE())) ORDER BY tbAcciones.FechaRecordar DESC
END

Tambien eh intentado asignandole el valor de la fecha del servidor a una
variable, pero la comparacion es >= o <=, luego lo quise filtrar desde
el
datagridview con C# y me pasa lo mismo la comparacion de fecha siempre es del
mismo modo ya no se me ocurre nada, les agradeceria un poco de ayuda.



Amigo no se si sirve pero te paso lo que pienso, cuando ejecutas el getdate()
el resultado es fecha y hora, tu problema es la hora tendrias que tomar
solamente la fecha del server lo haria con el siguiente codigo
tbAcciones.FechaRecordar = convert(varchar(50),getdate(),101)

O utilizaria el comando between con el sigueinte codigo

declare @dateto varchar(50)
declare @datefrom varchar(50)

set @datefrom = convert(varchar(50),getdate(),101) + '00:00:00'
set @dateto = convert(varchar(50),getdate(),101) + '23:59:59'

tbAcciones.FechaRecordar between @datefrom and @dateto (esto dentro del where)

Saludos

Ignacio


Gracias, me sirvio tu respuesta, aunque ya habia encontrado otra forma, desde C# recortaba la fecha y lo pasaba como variable y asi comparaba la fecha actual, algo mas simple pero funcional.
Te agradesco tu ayuda y me sirvio para aprender un poco mas sobre las fechas.
Un saludo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida