DELETE from Booking_Master
WHERE Req_No=@Req_No
AND LoginUser=@LoginUser
AND (Booking_Date!< convert(date, getdate())
AND (Booking_Date=convert(date, getdate())
AND Start_Time!<convert(time, getdate())))
执行此查询以删除大于当前时间的记录。例如,它将删除2014-03-25 10:00:00等记录。
删除有什么问题?为什么要删除日期大于当前时间的记录?
答案 0 :(得分:0)
&#34;!&LT;&#34;意味着not less than。换句话说,它大于或等于。您可能只需要大于&#34;&gt;&#34;
所以你的查询应该是
DELETE from Booking_Master
WHERE Req_No=@Req_No
AND LoginUser=@LoginUser
AND (Booking_Date > convert(date, getdate())
AND (Booking_Date=convert(date, getdate())
AND Start_Time > convert(time, getdate())))
请注意&#34;&gt;&#34;在Booking_Date
和Start_Time
希望这有帮助
答案 1 :(得分:0)
我猜你想要的是这个:
DELETE from Booking_Master
WHERE Req_No=@Req_No
AND LoginUser=@LoginUser
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运算符。