根据开始时间和结束时间必须大於开始时间查询数据库一段时间内的数据并且数据库也有两个字段,一个开始时间和一个结束时间必须大于开始时间要根据数据库的時间字段来查询。
- 输入开始时间和结束时间必须大于开始时间
和数据看起来像这样,StartTime和Endtime是连续的時间跨度:
因此,如果用户传递两个参数,那么想法是在任何时间段内选择SELECT *
不知怎的,它应该像这样返回表:
你看,棘手的部分是将原来的时间跨喥缩短到用户定义的时间跨度(@From – @To),我一整天都在苦苦挣扎.请指教.
获取您要查找的结果集有两个部分.
>将所有连续日期与相同的“状态”值合并茬一起
>返回具有以下内容的组合结果集:
>所有范围完全在您的日期之内/从参数
>与from / to参数的开头部分重叠的计算范围
>与from / to参数的末尾部分重叠的計算范围
对于合并日期,您可以查看这两个链接,以了解合并连续日期范围的方法:
我使用了其中一个最具可读性的例子.但是,如果您正在寻找性能更高的查询,您可以查看其他人.
下面是一个示例查询,它返回示例中的结果集:
合并具有相同状态的连续日期行
返回完全包含日期参数,计算的起始范围和计算的结束范围的结果集
根据开始时间和结束时间必须大於开始时间查询数据库一段时间内的数据并且数据库也有两个字段,一个开始时间和一个结束时间必须大于开始时间要根据数据库的時间字段来查询。