我有一张格式低于
的表格--------------------------------------------------------
type | requirements | from | to |
--------------------------------------------------------
A 23 2012-12-12 2012-12-24|
--------------------------------------------------------
B 22 2012-12-10 2013-01-14|
--------------------------------------------------------
C 20 2013-11-18 2012-12-10|
--------------------------------------------------------
现在,当我搜索2010-12-23日期的总要求时。我应该
----------------------------
type | requirements |
---------------------------
A 23 |
---------------------------
B 22 |
-----------------------------
获得此结果的查询是什么?我搜索了很多但找不到任何提示。请帮帮我。
答案 0 :(得分:4)
假设'2010-12-23'
表示'2012-12-23'
,您可以使用MySQL的BETWEEN ... AND ...
比较运算符进行过滤:
SELECT `type`, `requirements`
FROM `my_table`
WHERE '2012-12-23' BETWEEN `from` AND `to`
在sqlfiddle上查看。
答案 1 :(得分:1)
为什么不
SELECT * FROM TABLE WHERE "from" > "2010-12-23" AND "to" < "2010-12-23"
如果你想包括两个日期,你可以使用&gt; =和&lt; =或者像这样使用BETWEEN:
SELECT * FROM TABLE WHERE "2010-12-23" BETWEEN "from" AND "to"
仅供参考,名称“from”和“to”并不理想为列名,但我猜您刚刚将其作为示例发布。