首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按时间间隔取数

按时间间隔取数
EN

Stack Overflow用户
提问于 2013-07-23 05:51:30
回答 4查看 50关注 0票数 0

我有一个存储以下数据的MySQL表:

代码语言:javascript
复制
id_event INT(10)
start_date DATE()
end_date DATE()

我的目标是显示介于b to id_events之间的所有日期:$start$sto

到目前为止我已经尝试过了:

代码语言:javascript
复制
SELECT * FROM events WHERE $start >= start_date AND $end <= end_date;

但问题是,它可能是在输入$start之前开始的一些事件,在$end之后结束,并且不显示。

我很确定这可能很简单,但是我已经被这个困扰了两天了

提前感谢

EN

回答 4

Stack Overflow用户

发布于 2013-07-23 05:54:20

试一试

SELECT * FROM events WHERE start_date >= '$start' AND end_date <= '$end';

票数 0
EN

Stack Overflow用户

发布于 2013-07-23 05:56:15

首先,您需要确保$start$end的格式正确。它应该是:'YYYY-mm-dd',例如:'2013-07-22'

第二,你的逻辑是有缺陷的。$start >= start_datestart_date <= $start相同。这表示输入为$start的日期或之前的任何内容。

最后,您需要在查询中引用您的值,您的日期应该是字符串。

代码语言:javascript
复制
SELECT * FROM events WHERE start_date >= '$start' AND end_date <= '$end';
票数 0
EN

Stack Overflow用户

发布于 2013-07-23 05:57:09

试试这个:

代码语言:javascript
复制
SELECT * FROM events 
WHERE $start <= end_date and $end >= start_date;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17798081

复制
相关文章

相似问题

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