所以可以说我有一些看起来像这样的记录:
2011-01-01 Cat
2011-01-02 Dog
2011-01-04 Horse
2011-01-06 Lion
如何构造一个返回 2011-01-03 和 2011-01-05 的查询,即未使用的日期。我将博客发布到未来,我想要一个查询来显示我还没有发布任何内容的日子。它将从当前日期到未来 2 周。
更新:
我对建立一个永久的日期表不太兴奋。在考虑之后,虽然看起来解决方案可能是创建一个创建临时表的小型存储过程。就像是:
CREATE PROCEDURE MISSING_DATES()
BEGIN
CREATE TABLE TEMPORARY DATES (FUTURE DATETIME NULL)
INSERT INTO DATES (FUTURE) VALUES (CURDATE())
INSERT INTO DATES (FUTURE) VALUES (ADDDATE(CURDATE(), INTERVAL 1 DAY))
...
INSERT INTO DATES (FUTURE) VALUES (ADDDATE(CURDATE(), INTERVAL 14 DAY))
SELECT FUTURE FROM DATES WHERE FUTURE NOT IN (SELECT POSTDATE FROM POSTS)
DROP TABLE TEMPORARY DATES
END
我想不可能选择没有数据。