查询以检查sql server中的重叠范围?
发布时间:2021-03-17 08:17:33 所属栏目:MsSql教程 来源:网络整理
导读:我有我的桌子 From_Range ToRange 1 999 9000 10000 2000 5000 现在,当我尝试将范围值插入1000 – 3000时.它应该失败,因为此范围内的某些值落在现有范围2000 – 5000之间.如何检查输入范围值是否与现有范围一致? 解决方法 找到重叠的最简单方法是这样的:
我有我的桌子 From_Range ToRange 1 999 9000 10000 2000 5000 现在,当我尝试将范围值插入1000 – 3000时.它应该失败,因为此范围内的某些值落在现有范围2000 – 5000之间.如何检查输入范围值是否与现有范围一致? 解决方法找到重叠的最简单方法是这样的:IF EXISTS (SELECT 1 FROM table WHERE @myValueLo <= ExistingRangeEnd AND @myValueHi >= ExistingRangeStart) -- Overlaps ELSE -- Doesn't overlap 如果您将上面的条件与下图中的每个条形进行比较,则可以显示此项: Existing range: |-------------------| Overlaps: |-------------| |------------| |----------------------------------| |-------------| Not overlaps: |-----| |----| 在所有重叠的情况下,这两个测试都是正确的: >现有范围的开始日期始终在新范围的结束日期之前 不重叠的那些不能通过该测试中的一个或另一个. (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 为什么SQL Server 2008在简单的SQL查询上崩溃
- SQL Server 2005中使用DDL触发器监控数据库变化
- 初识ASP.NET Mvc5+EF7的奇妙之旅
- sql – Oracle 11g:取消激活多列并包含列名
- SSIS:在 SSIS 输出平面文件时根据运行日期生成不同的文件名
- 如何在SQL中删除重复记录
- sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
- 实体框架 – 具有Identity列的SQL Server Compact 4.0表中插
- SQL汇总报告,寻找优雅的解决方案
- sql-server-2005 – 在SQL Server 2005中向存储过程添加参数
站长推荐
热点阅读