如何选择两个日期之间的日期和月份:
例如:31/December 介于 26/December/2016 和 02/January/2017 之间
我的查询:
select table2.*
from table1,
table2
where table2.day between DAYOFMONTH(table1.date_start) and DAYOFMONTH(table1.date_end)
and table2.month between MONTH(table1.date_start) and MONTH(table1.date_end)
table1(预订):
-id -date_start(日期)-date_end(日期)
1 | 2016-12-26 | 2017-01-02
表 2:(配方)
编号 |姓名 |天(整数) |月(整数)
1 | xxx | 31 | 12
最佳答案
看起来您正在使用 MySQL。与其尝试分别检查月份和日期,不如将 BETWEEN
与您希望捕获其范围的两个点一起使用。
SELECT t1.*
FROM table1 t1
INNER JOIN table2 t2
ON t1.some_col = t2.some_col
WHERE day_col BETWEEN '2016-12-26' AND '2017-01-02'
请注意,我还在您的查询中添加了一个连接条件,如果没有它,您将进行交叉连接,很可能不是您想要的。
关于mysql - SQL如何选择两个日期之间的日期和月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41548055/