我在这里挖掘了大量的问题,没有找到足够接近的SQL样本来获取我需要的信息。我使用MYSQL和PHP来跟踪日历情况下的特殊时间和事件。我想要从数据库中获取特定信息的月份和年份,我尝试的所有内容都不起作用。我还没有跟踪到目前为止我尝试过的所有内容,但它已经做了很多。我不想在测试中添加日期,因为我想单独查看每个月,而不是每天都要单独查询。
SELECT *
FROM LiveSpecialHours
LEFT JOIN Libraries
ON LibraryID = Libraries.id
LEFT JOIN LibraryDepartment
ON DepartmentID = LibraryDepartment.ldId
WHERE (YEAR(2015-07-01) BETWEEN YEAR(startDate) AND YEAR(endDate))
AND (MONTH(2015-07-01) BETWEEN MONTH(startDate) AND MONTH(endDate));
答案 0 :(得分:2)
根据要求将答案放在答案上。
如果“当前”表示“实际”,则(2015-07-01)
将失败。 MySQL认为你想减去/ math。
请('2015-07-01')
用引号将它们包装成字符串文字,而不是数学问题(2015减去07减去01)。
检查错误,具体取决于您使用哪个MySQL API进行连接/查询(如果通过PHP完成)。
它会发出语法错误信号。
旁注:
如果您没有通过PHP查询,它也会通过phpmyadmin抛出语法错误(作为示例界面)。