2014-03-25 56 views
-1
DELETE from Booking_Master 
WHERE [email protected]_No 
AND [email protected] 
AND (Booking_Date!< convert(date, getdate()) 
AND (Booking_Date=convert(date, getdate()) 
AND Start_Time!<convert(time, getdate()))) 

執行此查詢以刪除大於當前時間的記錄。例如,它會刪除2014-03-25 10:00:00之類的記錄。sql刪除查詢使用多個'和'子句

刪除有什麼問題?爲什麼我要刪除日期大於當前時間的記錄?

+2

而你的問題是什麼? –

+2

他只是發佈這個,所以他可以告訴我們他做到了! :) – Hoh

+0

無論是他或他威脅我們。 – Murdock

回答

0

我猜你想要的是這樣的:

DELETE from Booking_Master 
WHERE [email protected]_No 
AND [email protected] 
AND 
(
(Booking_Date > GETDATE()) 
OR 
( 
    Booking_Date = CONVERT(date, GETDATE()) 
    AND 
    Start_Time > CONVERT(time, GETDATE()) 
) 
) 

將刪除記錄,其中Booking_Date比GETDATE()放大, Booking_Date相同GETDATE()和START_TIME比GETDATE較大()。注意使用括號的,以確保邏輯的正確評價爲AND運算比OR運算符優先級高..

0

「!<」 是指not less than。換句話說,它大於或等於。你可能只需要大於 「>」

所以您的查詢可能應該

DELETE from Booking_Master 
WHERE [email protected]_No 
AND [email protected] 
AND (Booking_Date > convert(date, getdate()) 
AND (Booking_Date=convert(date, getdate()) 
AND Start_Time > convert(time, getdate()))) 

注 「>」 在這兩個Booking_DateStart_Time

希望這有助於

+0

什麼時候Booking_Date會大於等於getdate()? – jpw