SQL大于、等于和小于

SQL大于、等于和小于,sql,select,Sql,Select,我想创建如下查询,但我不确定如何正确编码, 我希望它在开始后1小时内归还所有预订,以下是我的想法: SELECT BookingId, StartTime FROM Booking WHERE StartTime <=> 1.00 选择BookingId,开始时间 从预订 开始时间1点在哪里 有可能吗?还是有办法绕过它 我在网上找到的所有信息都不是关于在同一个查询中使用大于、等于和小于所有数据。假设您使用sql server: WHERE StartTime BETWEEN DA

我想创建如下查询,但我不确定如何正确编码, 我希望它在开始后1小时内归还所有预订,以下是我的想法:

SELECT BookingId, StartTime
FROM Booking
WHERE StartTime <=> 1.00
选择BookingId,开始时间
从预订
开始时间1点在哪里
有可能吗?还是有办法绕过它


我在网上找到的所有信息都不是关于在同一个查询中使用大于、等于和小于所有数据。

假设您使用sql server:

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

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

SELECT BookingId, StartTime
FROM Booking
WHERE StartTime >= '2012-03-08 00:00:00.000' 
AND StartTime <= '2012-03-08 01:00:00.000'
选择BookingId,开始时间
从预订
其中StartTime>=“2012-03-08 00:00:00.000”

开始时,像这样的事情应该会起作用

SELECT BookingId, StartTime
FROM Booking
WHERE StartTime between dateadd(hour, -1, getdate()) and getdate()
declare@starttime datetime='2012-03-07 22:58:00'
选择BookingId,开始时间
从预订

ABS(DATEDIFF(minute,StartTime,@StartTime))正要询问AND是否有效。谢谢你的迅速回复reply@user1081326“和”会起作用,但我建议您使用其他两个答案中所示的中间状态。您的意思是在指定时间的任意一侧各1小时,不是吗?如果一个人比您大(大于)、您的年龄(等于)或比您小(小于),这个人可以是地球上任何活着的人(如果你想定义死者的年龄,也可以是任何死去的人)。如果有人没有注意到,或者他们感到困惑,OP会将
切换
开始时间间隔2小时。FYR:
选择一小时前的日期添加(小时,-1,GetDate()),一小时后的日期添加(小时,1,GetDate())
declare @starttime datetime = '2012-03-07 22:58:00'

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