SQL Server SELECT语句将db中的时间与当前时间进行比较

时间:2013-12-17 00:50:30

标签: sql-server-2008

这可能是一个noob问题,但我有点卡住了。

我有这个很长的SELECT查询:

SELECT  
    dbo.Dagplanning.GeldigOp ,
    dbo.Trips_Bus.Route ,
    dbo.Trips_Bus.TripStart AS BeginUur ,
    dbo.Places.Naam AS BeginPlaats ,
    dbo.Trips_Bus.TripEnd AS EindUur ,
    dbo.Trips_Bus.Duty AS Dienst ,
    dbo.Trips_Bus.Block ,
    dbo.Personeel.Personeelsnummer ,
    dbo.Personeel.Naam ,
    dbo.Personeel.VoorNaam ,
    dbo.Trips_Bus.OpDay ,
    dbo.Trips_Bus.PeriodeID
FROM    
    dbo.Dagplanning ,
    dbo.Personeel ,
    dbo.Trips_Bus ,
    dbo.Places
WHERE   
    dbo.Trips_Bus.TripStart >= DATEADD(minute, DATEDIFF(minute, -5, GETDATE()), 0)
    AND dbo.Trips_Bus.TripStart <= DATEADD(minute, DATEDIFF(minute, 300, GETDATE()), 0)
    AND dbo.Personeel.Personeelsnummer = dbo.Dagplanning.Personeelsnummer
    AND dbo.Trips_Bus.Duty = ( dbo.Dagplanning.Rol + '+' + REPLICATE('0', 3 - LEN(dbo.Dagplanning.Dienst)) + dbo.Dagplanning.Dienst )
    AND dbo.Trips_bus.Opday LIKE '%" + opdag + "%'
    AND dbo.Trips_Bus.PeriodeID = '" + periodeid + "'
    AND dbo.Dagplanning.GeldigOp = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
    AND dbo.Trips_Bus.TripFrom = dbo.Places.Place
ORDER BY 
    dbo.Trips_Bus.TripStart ASC

实际上这部分我遇到了问题:

WHERE 
    dbo.Trips_Bus.TripStart >= DATEADD(minute, DATEDIFF(minute, -5, GETDATE()), 0) 
    AND dbo.Trips_Bus.TripStart <= DATEADD(minute, DATEDIFF(minute, 300, GETDATE()), 0)

这不返回任何内容,没有错误但也没有数据。表格中的De数据存储如下:21:50:00

知道我做错了什么吗?请温柔; - )

哦,我是全新的,所以请记住这一点!

0 个答案:

没有答案