SQL Server - Comparacion de fechas

 
Vista:

Comparacion de fechas

Publicado por Juan Luis Cruz (3 intervenciones) el 13/05/2008 19:40:43
Saludos, esta consulta la hago ps por que he tratado por todos los medios y ni asi me queda este bendito query , quizas para algunos senciillos
La historia
Tengo una tabal que se llama actividad en la cual cargo informacion de actividades a realizar a si como fechas, cree un formulario en VB para que me traiga la informacion de la base de datos atraves de un query pero ps este nunca me ha resultado

el Query es el siguiente
Select * from Actividad where FechaActividad = Getdate()
y es logico que no me traiga nada puesto que getdate() me trae la hora y la fecha y ps nunca van a ser iguales , ya utilice en convert

select fechaActividad
from Actividad
where FechaActividad = convert(datetime,convert(char(10),getdate(),112))
y nada me manda error de sintaxis y por mas que le busco nada
quice utilizar el date`part para tomar solo la fecha , pero tampoco , hay alguien qu eme pueda dar una manita ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparacion de fechas

Publicado por Isaias (3308 intervenciones) el 14/05/2008 19:11:07
Si quieres sacar los datos de "HOY":

WHERE FechaActividad = CONVERT(CHAR(8), GETDATE(), 112)

Dime si te funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparacion de fechas

Publicado por Juan Luis Cruz Flores (3 intervenciones) el 20/05/2008 18:38:11
Es una excelente respuesta muchas gracias me sirvio de mucho

Si quieres sacar los datos de "HOY":

WHERE FechaActividad = CONVERT(CHAR(8), GETDATE(), 112)

Dime si te funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparacion de fechas

Publicado por Pedro Basto (1 intervención) el 26/08/2008 18:46:11
La respuesta anterior es buena cuando se trata de comparar con el operador de igualdad, pero cuando se quiere decidir si la fecha es mayor o menor, no funciona(al menos para mi) ya que se compara por medio de los valores ascii de los caracteres y obtiene datos incongruentes.
Por si a alguien le sirve les dejo esto:

Declare @FechaActual
Set @FechaActual=Cast(Convert(varchar(10),getdate(),103) as datetime)

Select Campo1, Campo2
From TablaX
Where Cast(Convert(varchar(10),Fecha,103) as datetime) [<=] | [>=] @FechaActual

Lo que hago es obtener solamente la fecha en el formato dd/mm/yyyy en forma de caracteres de texto y despues lo vuelvo a convertir a datetime, de esta forma elimino el dato de hora convirtiendolo todo a 00:00:00.000. De esta forma al comparar solo se toma en cuenta la fecha ya que la hora para los datos de comparación siempre será cero.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar