首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对多列使用日期范围

问对多列使用日期范围
EN

Stack Overflow用户
提问于 2014-12-15 23:08:51
回答 2查看 63关注 0票数 4

我准备了一个按日期范围搜索的mysql查询:

代码语言:javascript
复制
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子句。

我试着做:

代码语言:javascript
复制
select * from active_listings 
where (open_date,next_open_date) >= '$start_date' 
  AND (open_date,next_open_date) <='$end_date')

我没有得到任何结果。

请有人指点我,或者告诉我如何在日期范围内使用多列。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-15 23:11:53

为了避免模棱两可,您必须将范围分隔如下:

代码语言:javascript
复制
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');

或者,稍微短一点:

代码语言:javascript
复制
select * 
from active_listings 
WHERE open_date BETWEEN '$start_date' AND '$end_date'
  OR next_open_date BETWEEN '$start_date' AND '$end_date';
票数 2
EN

Stack Overflow用户

发布于 2014-12-15 23:17:41

不太确定你想要什么..。你是在计算重叠周期还是别的什么?

提示:您可以使用中间子句替换“大于等于,小于等于”条件的组合。

代码语言:javascript
复制
SELECT * 
FROM active_listings 
WHERE 
    open_date BETWEEN '$start_date' AND '$end_date' OR
    next_open_date BETWEEN '$start_date' AND '$end_date'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27494805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档