mysql查询得到今天和明天的日期

时间:2013-03-06 22:10:40

标签: php mysql

SELECT
   doctors. fullname,
   dutyroster.date,
   dutyroster.time
FROM
   dutyroster
INNER JOIN doctors ON doctors.docid = dutyroster.docid
WHERE doctors.docid = $doc_id AND
dutyroster.date = DATE(NOW()) AND DATE(NOW())+ INTERVAL 1 DAY
ORDER BY dutyroster.`date`  ASC";

此查询用于从名为dutyroster的表中查找特定的医生信息。我想获取当天和tommrow的文档信息..但这不起作用。

并且我做了第二个也没有工作,因为它返回当前的一个,所有下一个日期也

SELECT
    doctors. fullname,
    dutyroster.date,
    dutyroster.time
FROM
    dutyroster
INNER JOIN doctors ON doctors.docid = dutyroster.docid
WHERE doctors.docid = $doc_id AND
DATE_SUB(CURDATE(),INTERVAL 2 DAY) <= dutyroster.date
ORDER BY dutyroster.`date`  ASC"

2 个答案:

答案 0 :(得分:1)

而不是

... AND dutyroster.date = DATE(NOW()) AND DATE(NOW())+ INTERVAL 1 DAY

... AND (dutyroster.date = CURDATE() OR 
         dutyroster.date = CURDATE() + INTERVAL 1 DAY))

或以更简洁的方式,正如@MarcM建议的那样

... AND dutyroster.date IN (CURDATE(), CURDATE() + INTERVAL 1 day)

答案 1 :(得分:0)

从您的第一次尝试开始,您几乎看起来正在尝试编写COBOL! 此外,为了将来参考“这不起作用”不是一个有用的评论。你应该说实际发生了什么。

无论如何,请尝试将where子句更改为:

在哪里,doctor.docid = $ doc_id AND (dutyroster.date = CURRENT_DATE或dutyroster.date = CURRENT_DATE + INTERVAL 1天)

或:

在哪里,doctor.docid = $ doc_id AND dutyroster.date IN(CURRENT_DATE,CURRENT_DATE + INTERVAL 1天))