Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在一组日期之间搜索一个日期_Mysql_Sql - Fatal编程技术网

Mysql 在一组日期之间搜索一个日期

Mysql 在一组日期之间搜索一个日期,mysql,sql,Mysql,Sql,我的表名是client_details,我的日期字段包含一组日期,如 03/03/2015,04/13/2015,05/11/2015,06/08/2015,09/04/... 03/18/2015,04/28/2015,05/26/2015,06/23/2015,09/19/... 03/20/2015,04/30/2015,05/28/2015,06/25/2015,09/21/... 03/26/2015,05/06/2015,06/03/2015,07/01/2015,09/27/...

我的表名是client_details,我的日期字段包含一组日期,如

03/03/2015,04/13/2015,05/11/2015,06/08/2015,09/04/...
03/18/2015,04/28/2015,05/26/2015,06/23/2015,09/19/...
03/20/2015,04/30/2015,05/28/2015,06/25/2015,09/21/...
03/26/2015,05/06/2015,06/03/2015,07/01/2015,09/27/...
03/26/2015,05/06/2015,06/03/2015,07/01/2015,09/27/...
03/06/2015,04/16/2015,05/14/2015,06/11/2015,09/07/...
03/13/2015,04/23/2015,05/21/2015,06/18/2015,09/14/...
04/16/2015,05/27/2015,06/24/2015,07/22/2015,10/18/...
03/03/2015,04/13/2015,05/11/2015,06/08/2015,09/04/...
03/04/2015,04/14/2015,05/12/2015,06/09/2015,09/05/...
03/19/2015,04/29/2015,05/27/2015,06/24/2015,09/20/...
我想搜索一个介于“2015年3月26日”和“2015年5月12日”之间的日期。如何编写查询?

您可以尝试以下操作:

SELECT * FROM client_details WHERE `DateField` BETWEEN '03/26/2015' AND '05/12/2015';

编辑:-

因此,您的注释显示您是通过用逗号分隔日期来存储日期的。我强烈反对这种做法,并建议你改变桌子的设计。这是一种糟糕的存储日期的方法

原因:

  • 每当您想使用日期函数时,它都会给您带来麻烦
  • 它不是有效的性能
  • 替代解决方案:

  • 更改桌子的设计
  • 创建一个单独的表,该表存储与用户id对应的日期,然后使用用户id将此表与客户详细信息表连接,并获取所需的日期

  • @菲奥娜:-结果是什么?@Fiona:-给我的答案添了一把小提琴。据我所知,它正在按照你的预期结果工作。请告诉我缺少什么?日期字段似乎包含许多逗号分隔的日期。@Fiona:-为什么要这样存储日期?@Fiona:-我认为您可以将它们存储在不同的行中,因为这将在许多方面帮助您,包括创建这样的查询。不推荐使用上述列存储日期的方法,这样将来可能会给您带来很大的麻烦。这只是一个提示。你是说你将日期作为逗号分隔的列表存储在一列中吗?@GarethD是的,我这样存储为什么?关系数据库的本质是,您不需要像这样存储数据,您可以创建一个具有一对多关系的新表,并在具有datetime类型的列中每行存储一个日期。然后,您就有了一个非常简单的查询,它可以正确地使用索引,并且不需要转换或昂贵的拆分操作。我已经给出了一个示例模式,并对其进行了查询-我建议您更改它,而不是试图绕过您的设计。