SQL大于,等于AND小于

时间:2012-03-07 22:51:53

标签: sql select

我想创建如下的查询,但我不确定如何正确编码, 我想让它在StartTime的1小时内返回所有预订,这是我想出的:

SELECT BookingId, StartTime
FROM Booking
WHERE StartTime <=> 1.00

有可能吗?或者有没有办法围绕它?

我在网上找到的所有内容都不是在同一个查询中使用大于,等于和小于全部。

4 个答案:

答案 0 :(得分:11)

假设你使用sql server:

WHERE StartTime BETWEEN DATEADD(HOUR, -1, GetDate())
                    AND DATEADD(HOUR, 1, GetDate())

答案 1 :(得分:5)

如果开始时间是日期时间类型,那么您可以使用类似

的内容
SELECT BookingId, StartTime
FROM Booking
WHERE StartTime >= '2012-03-08 00:00:00.000' 
AND StartTime <= '2012-03-08 01:00:00.000'

显然你会想要在时间上使用你自己的值,但这应该给你1小时内的所有内容,包括上限和下限。

您可以使用GETDATE()函数获取今天的当前日期。

答案 2 :(得分:3)

declare @starttime datetime = '2012-03-07 22:58:00'

SELECT BookingId, StartTime
FROM Booking
WHERE ABS( DATEDIFF( minute, StartTime, @starttime ) ) <= 60

答案 3 :(得分:2)

这样的东西应该适用于Ep>

SELECT BookingId, StartTime
FROM Booking
WHERE StartTime between dateadd(hour, -1, getdate()) and getdate()