我想創建一個如下所示的查詢,但我不確定如何正確編寫它, 我希望它在StartTime的1小時內返回所有預訂,以下是我想出了:SQL大於,小於等於
SELECT BookingId, StartTime
FROM Booking
WHERE StartTime <=> 1.00
是可能的嗎?或者有沒有辦法繞過它?
在網上發現的一切都沒有在同一個查詢中使用大於,等於和小於全部。
我想創建一個如下所示的查詢,但我不確定如何正確編寫它, 我希望它在StartTime的1小時內返回所有預訂,以下是我想出了:SQL大於,小於等於
SELECT BookingId, StartTime
FROM Booking
WHERE StartTime <=> 1.00
是可能的嗎?或者有沒有辦法繞過它?
在網上發現的一切都沒有在同一個查詢中使用大於,等於和小於全部。
假如你使用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'
很明顯,你會想用自己的價值觀的時間,但這應該給你在1小時內包括上限和下限在內的一切。
您可以使用GETDATE()函數獲取當前的當前日期。
只是要問是否會工作。感謝您的快速回復 – user1081326 2012-03-07 22:56:32
@ user1081326 AND會工作,但我建議您使用其他2個答案中顯示的說明。 – Pepe 2012-03-07 22:57:48
財產以後這應該workL
SELECT BookingId, StartTime
FROM Booking
WHERE StartTime between dateadd(hour, -1, getdate()) and getdate()
declare @starttime datetime = '2012-03-07 22:58:00'
SELECT BookingId, StartTime
FROM Booking
WHERE ABS(DATEDIFF(minute, StartTime, @starttime)) <= 60
你這樣做的意思是1小時任一指定時間方面不是嗎? – Phil 2012-03-07 23:12:30
如果一個人比你年長(大於或等於),你的年齡(等於或),或者比你年輕(小於),那麼這個人可能是地球上的任何*活人*(或任何*死亡*你想爲死者定義年齡)。 – JayC 2012-03-07 23:14:26
如果有人沒有注意到,或者如果他們感到困惑,OP有'<' and the '>'轉換 – Malachi 2013-04-04 16:11:32