Mysql范围选择

Mysql范围选择,mysql,Mysql,我在从数据库中选择一些结果时遇到了一个小问题。 我试图选择的结果有一个存储完整日期的start\u date和end\u date。我的客户希望他的网站上有一个功能,可以按月过滤所有记录 以下是几个示例记录: id start_date end_date 01 01.03.13 20.05.13 02 12.04.13 30.06.13 03 24.05.13 29.07.13 04 10.05.13 30.05.13 05 19.06.13 13

我在从数据库中选择一些结果时遇到了一个小问题。 我试图选择的结果有一个存储完整日期的
start\u date
end\u date
。我的客户希望他的网站上有一个功能,可以按月过滤所有记录

以下是几个示例记录:

id  start_date  end_date
01  01.03.13    20.05.13
02  12.04.13    30.06.13
03  24.05.13    29.07.13
04  10.05.13    30.05.13  
05  19.06.13    13.08.13
06  03.07.13    18.09.13
如果月份为
05
,则应显示记录
id 01-04


您知道如何使用MySQL实现这一点吗?

此查询将返回范围包括2013年5月在内的所有事件

SELECT *
FROM MyTable
WHERE start_date < '2013-06-01'
AND end_date >= '2013-05-01'
选择*
从MyTable
其中开始日期<'2013-06-01'
和结束日期>='2013-05-01'

此查询将返回范围包括2013年5月在内的所有事件

SELECT *
FROM MyTable
WHERE start_date < '2013-06-01'
AND end_date >= '2013-05-01'
选择*
从MyTable
其中开始日期<'2013-06-01'
和结束日期>='2013-05-01'
试试看

试一试


您是否按开始日期筛选?结束日期?两者都有?现在我没有过滤任何东西-我正在试图找出如何获取这些记录。我在考虑使用
start\u date>=MONTH和end\u date您是否真的将日期存储为字符串而不是日期类型?不,我将它们存储为日期类型:)您是否按开始日期过滤?结束日期?两者都有?现在我没有过滤任何东西-我正在试图找出如何获取这些记录。我正在考虑使用
start\u date>=MONTH和end\u date您真的将日期存储为字符串而不是日期类型吗?不,我将它们存储为日期类型:)啊。。。太棒了!谢谢啊。。。太棒了!谢谢这将找不到第02行。它从4月开始,到6月结束。这将找不到第02行。从四月开始到六月结束。