Ver Mensaje Individual
  #2  
Antiguo 04-10-2007
rafita rafita is offline
Miembro
 
Registrado: ago 2003
Ubicación: Cuenca- España.
Posts: 309
Reputación: 21
rafita Va por buen camino
Vamos a ver si te entiendo.

Código SQL [-]
SELECT * FROM Tabla WHERE Fecha Not > **TuFecha** ORDER BY Fecha DESC

Es decir, eliminas las fechas mayores a la tuya, con el resto las ordenas en orden descendente, con lo que la primera que obtienes es la que tu buscas.

o de una forma más sencilla:

Código SQL [-]
SELECT MAX(Fecha) FROM Tabla WHERE Fecha Not > **TuFecha**

En ambos casos debes tener en cuenta los problemas de trabajar con fechas y horas al mismo tiempo. O bien en el campo seleccionado haces un CAST para filtrar solo la fecha o en **TuFecha** le añades la hora (0:00:00).

Haz pruebas con esto.

Perdón edito el mensaje porque no había visto que buscas la fecha con hora más próxima a las 23:00 h.
* Si te da igual el día (lo que prima es la hora) --> el select es parecido pero en lugar de fecha filtra por la hora
* Si la fecha y la hora son un par inseparable y lo que prima es el día, la solución es la que pongo arriba, pero a la fecha de busqueda le añades la hora 23:00:00
__________________
Rafita.

Última edición por rafita fecha: 04-10-2007 a las 13:35:46. Razón: Revisión
Responder Con Cita