Mysql 日期范围/查询问题
我有一个包含3个字段的表:Mysql 日期范围/查询问题,mysql,Mysql,我有一个包含3个字段的表: 身份证 日期开始 日期结束 我需要对此进行查询,以确定表单中的一对日期是否冲突,即 表条目1,2010-12-01,2010-12-09 来自表格2010-12-082010-12-15(编辑,打字) 这将返回我想要的id,但我想做的是从表单中获取日期范围,并执行类似于我得到的查询,该查询将同时获取表单日期2010-12-08、20-12-15,并查询db以确保表中没有冲突的日期范围 我坐着为这个问题挠头 短暂性脑缺血发作 我不知道你们计划的范围。但是,您似乎在说
- 身份证
- 日期开始
- 日期结束
id
,但我想做的是从表单中获取日期范围,并执行类似于我得到的查询,该查询将同时获取表单日期2010-12-08、20-12-15
,并查询db以确保表中没有冲突的日期范围
我坐着为这个问题挠头
短暂性脑缺血发作
我不知道你们计划的范围。但是,您似乎在说:从表中选择id,其中日期“2010-12-02”介于两个变量之间。我想您应该选择datestart在这两个变量之间的位置
原谅我,如果我错了,请纠正我?你可能想要这样的东西:
SELECT id FROM date_table WHERE datestart = datestart AND dateend = dateend;
SELECT id FROM
date_table
WHERE
(datestart < form_start AND dateend => form_start)
OR
(datestart <= form_end AND dateend > form_end)
OR
(datestart >= form_start AND dateend <= form_end)
如果是这样的话,您可能只需要计算一下:
SELECT COUNT(id) FROM date_table WHERE datestart = datestart AND dateend = dateend;
祝你好运 如果我正确理解了您的请求,您希望日期表中的所有条目列表与表单开始、表单结束或完全包含在表单开始-表单结束日期范围内 因此,您的查询应该如下所示:
SELECT id FROM date_table WHERE datestart = datestart AND dateend = dateend;
SELECT id FROM
date_table
WHERE
(datestart < form_start AND dateend => form_start)
OR
(datestart <= form_end AND dateend > form_end)
OR
(datestart >= form_start AND dateend <= form_end)
从中选择id
日期表
哪里
(datestart