加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 3个日期范围之间的Mysql查询

发布时间:2020-12-13 22:20:07 所属栏目:PHP教程 来源:网络整理
导读:我有一个允许用户生成报告的 PHP脚本,他们可以选择3个日期范围. 即 2012-01-01 to 2012-01-31AND 2011-01-01 to 2011-01-31AND 2010-01-01 to 2010-01-31 但是当我执行查询,并且某个日期范围之间没有记录时,查询不返回任何值. 这是我的查询: SELECT DealerN
我有一个允许用户生成报告的 PHP脚本,他们可以选择3个日期范围.

2012-01-01 to 2012-01-31
AND 
2011-01-01 to 2011-01-31
AND 
2010-01-01 to 2010-01-31

但是当我执行查询,并且某个日期范围之间没有记录时,查询不返回任何值.

这是我的查询:

SELECT DealerName WHERE InterviewDate >= "2012/01/01 " AND InterviewDate <= " 2012/03/31"
 AND InterviewDate >= "2012/07/01 " AND InterviewDate <= " 2012/09/31"

我需要一个查询,如果在1个日期范围内找到它,将返回数据,无论后续日期范围中是否没有数据.

数据汇总到一个表中,在该表中,相同的数据可能在多个日期.

例如:

dealerName 1    2012-01-01
dealerName 1    2012-02-31
dealerName 2    2012-03-01
dealerName 1    2012-06-01
dealerName 1    2012-06-31

因此,如果我想查询2012-01-01和2012-02-31和2012-06-01和2012-06-31之间的数据.我意识到1个日期范围可以包含所有这些范围,但用户可能希望在这两个日期范围之间排除数据.

解决方法

面试日期不能介于x和y之间,且仍介于z和zz之间.你错过了一个OR – 另外,看看BETWEEN运算符

SELECT DealerName
FROM table
WHERE InterviewDate BETWEEN '2012-01-01' AND '2012-01-31'
    OR InterviewDate BETWEEN '2011-01-01' AND '2011-01-31'
    OR InterviewDate BETWEEN '2010-01-01' AND '2010-01-31'

编辑,对不起,错过了表名:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读