así que tengo un cuadro que figura a continuaciónSQL - seleccionar registros después de la fecha/hora
Date Time Field3 Field4 - etc.
--------------------------------------------------
05/07/11 17:45 blah blah
05/07/11 19:45 blah blah
08/07/11 17:30
08/07/11 19:00
09/07/11 19:00
etc.
Actualmente tengo una regla en virtud de mi DONDE Declaración de manera que es muestra todos los días entre las hoy (por lo que sería 05/07/11 hasta la misma fecha 3 años después 05/07/14).
También me gustaría agregar otra regla debajo de la declaración WHERE para que solo muestre veces (cuando la fecha actual es igual a la fecha en la tabla) dos horas antes de la hora actual.
Así que en el 05/07/11 a las 19:00 debería mostrar:
Date Time Field3 Field4 - etc.
--------------------------------------------------
05/07/11 17:45 blah blah
05/07/11 19:45 blah blah
08/07/11 17:30
08/07/11 19:00
09/07/11 19:00
a las 21:46 en el mismo día, se debe mostrar ahora:
Date Time Field3 Field4 - etc.
--------------------------------------------------
08/07/11 17:30
08/07/11 19:00
09/07/11 19:00
¿Cómo lo haría Lo hago en mi SQL? Estoy pensando que tendría que ser una declaración si entonces o un caso en ese momento, pero no he podido resolverlo?
TAMBIÉN La fecha se genera dentro de VB.Net, igual que el tiempo. SQL actual (y de trabajo) código es:
SELECT m.MatchID Manage, m.Date, m.Time, t.TeamCode "Home", b.TeamCode "Away",
g.GroundName "Ground", (SUBSTRING(u.GivenName,1,1) + '. ' + RTRIM(u.Surname)) AS Referee,
(SUBSTRING(v.GivenName,1,1) + '. ' + RTRIM(v.Surname)) AS "Assistant 1",
(SUBSTRING(w.GivenName,1,1) + '. ' + RTRIM(w.Surname)) AS "Assistant 2",
a.FOfficialID, a.AssessorID, a.RefereeAID, a.AReferee1AID, a.AReferee2AID,
a.FOfficialAID, a.AssessorAID, 'Details' "Details", t.AgeGroupID, r.WetWeatherID
FROM Match m
LEFT OUTER JOIN Appointment a ON m.MatchID=a.MatchID
LEFT OUTER JOIN WetWeather r ON r.MatchID=m.MatchID
INNER JOIN Team t ON m.HomeTeamID=t.TeamID
INNER JOIN Team b ON m.AwayTeamID=b.TeamID
INNER JOIN Ground g ON g.GroundID=m.GroundID
LEFT OUTER JOIN Users u ON u.UserID=a.RefereeID
LEFT OUTER JOIN Users v on v.UserID=a.AReferee1ID
LEFT OUTER JOIN Users w on w.UserID=a.AReferee2ID
WHERE (m.Date BETWEEN '05-Jul-2011' AND '05-Jul-2014')
¿Qué DBMS está utilizando? –
¿Y qué tipos de datos son las columnas FECHA y HORA? – MatBailie
sql server 2008 – user829634