我准备了一个按日期范围搜索的mysql查询:
select * from active_listings
where open_date >= '$start_date'
AND open_date <='$end_date'效果很好。
mysql中有两个列: open_date和next_open_date。如何处理包含open_date和next_open_date的range子句。
我试着做:
select * from active_listings
where (open_date,next_open_date) >= '$start_date'
AND (open_date,next_open_date) <='$end_date')我没有得到任何结果。
请有人指点我,或者告诉我如何在日期范围内使用多列。
谢谢!
发布于 2014-12-15 23:11:53
为了避免模棱两可,您必须将范围分隔如下:
select *
from active_listings
where (open_date >= '$start_date' AND open_date <='$end_date')
OR (next_open_date >= '$start_date' AND next_open_date <='$end_date');或者,稍微短一点:
select *
from active_listings
WHERE open_date BETWEEN '$start_date' AND '$end_date'
OR next_open_date BETWEEN '$start_date' AND '$end_date';发布于 2014-12-15 23:17:41
不太确定你想要什么..。你是在计算重叠周期还是别的什么?
提示:您可以使用中间子句替换“大于等于,小于等于”条件的组合。
SELECT *
FROM active_listings
WHERE
open_date BETWEEN '$start_date' AND '$end_date' OR
next_open_date BETWEEN '$start_date' AND '$end_date'https://stackoverflow.com/questions/27494805
复制相似问题