我有一个表:SQL操作日期查询,找到之间的日期迄今
rommbookinfo
(
hotel_id
, room_no
, start_date
, end_date
);
现在,我必须执行一个查询发现房间对于未在预订指定酒店(酒店ID)日期范围(即在DATE1和date2之间)
SELECT *
FROM tbl_roombook
WHERE hotel_id = '2'
AND start_date NOT BETWEEN 12/17/2011 AND 12/19/2011
OR end_date NOT BETWEEN 12/17/2011 AND 12/19/2011
,但它引发以下错误:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
''SELECT * FROM tbl_roombook WHERE hotel_id='2' AND start_date' at line 1
你的问题是什么?什么不工作?你期望的输入/输出是什么? – ajreal
@Boruah - 语法错误是因为日期需要在引号中。这并不重要 - 你的查询无论如何不会起作用。 Charles Bretana的解决方案看起来应该起作用。请尝试一下,如果有,请将其标记为“已接受”! – paulsm4
这段代码在哪里被调用,我认为单引号导致你的问题 – Sparky