我正在尝试进行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"要么是列出日期,要么是列出的2个日期之间,理想情况下返回RID:1和2
我在想
SELECT *
FROM resources
WHERE (begindate <= @cdate) AND (endingdate >= @cdate)
@cdate =&#34; 2014-05-16&#34;在这种情况下
但这不起作用
任何建议都表示赞赏。
答案 0 :(得分:2)
通常,当您在值之间选择内容时,最佳选项为BETWEEN
关键字。所以查询必须像这样
SELECT * FROM resources WHERE @cdate BETWEEN begindate AND endingdate
答案 1 :(得分:1)
SELECT *
FROM resources
WHERE @cdate BETWEEN begindate AND endingdate