Mysql 其中变量介于两列日期之间

Mysql 其中变量介于两列日期之间,mysql,Mysql,我正在尝试做一个MySQL选择事务,但是我很难让它完全按照我想要的做。我正在尝试选择集合变量(@cdate)位于两列(begindate和endingdate)中列出的日期(或两个日期之一)之间的所有行-我已多次尝试执行此操作,但我的表始终返回0行 资源表: RID | begindate | endingdate 1 | 2014-05-16 | 2014-05-17 2 | 2014-05-15 | 2014-05-17 3 | 2014-05-14 | 2014-05-15

我正在尝试做一个MySQL选择事务,但是我很难让它完全按照我想要的做。我正在尝试选择集合变量(@cdate)位于两列(begindate和endingdate)中列出的日期(或两个日期之一)之间的所有行-我已多次尝试执行此操作,但我的表始终返回0行

资源表:

RID | begindate  | endingdate 
 1  | 2014-05-16 | 2014-05-17
 2  | 2014-05-15 | 2014-05-17
 3  | 2014-05-14 | 2014-05-15
 4  | 2014-05-17 | 2014-05-19
因此,在这种情况下,我们试图选择*其中“2014-05-16”要么是一个列出的日期,要么是两个列出的日期之间的日期,理想情况下返回RID:1和2

我在想

SELECT        *
FROM            resources
WHERE        (begindate <= @cdate) AND (endingdate >= @cdate)
选择*
来自资源
其中(begindate=@cdate)
@cdate=“2014-05-16”在这种情况下

但这并不奏效


非常感谢您的推荐。

通常,当您在值之间选择某个值时,最好的选择是
between
关键字。所以查询必须是这样的

SELECT *
FROM resources
WHERE @cdate BETWEEN begindate AND endingdate
SELECT * FROM resources WHERE @cdate BETWEEN begindate AND endingdate

通常,当您在值之间选择某个值时,最佳选项是
between
关键字。所以查询必须是这样的

SELECT * FROM resources WHERE @cdate BETWEEN begindate AND endingdate

通常,当您在值之间选择某个值时,最佳选项是
between
关键字。所以查询必须是这样的

SELECT * FROM resources WHERE @cdate BETWEEN begindate AND endingdate

通常,当您在值之间选择某个值时,最佳选项是
between
关键字。所以查询必须是这样的

SELECT * FROM resources WHERE @cdate BETWEEN begindate AND endingdate

中间是否还包括开始日期和结束日期?中间是否还包括开始日期和结束日期?中间是否还包括开始日期和结束日期?中间是否还包括开始日期和结束日期?中间是否还包括开始日期和结束日期?您的查询应该有效。您能否显示表和
@cdate
的定义?您的查询应该可以工作。您能否显示表和
@cdate
的定义?您的查询应该可以工作。您能否显示表和
@cdate
的定义?您的查询应该可以工作。您能否显示表和
@cdate
的定义?