查询以检查sql server中的重叠范围?
发布时间:2021-03-22 13:23:18 所属栏目:编程 来源:网络整理
导读:我有我的桌子 From_Range ToRange 1 999 9000 10000 2000 5000 此刻,当我实行将范畴值插入1000 – 3000时.它应该失败,由于此范畴内的某些值落在现有范畴2000 – 5000之间.怎样搜查输入范畴值是否与现有范畴同等? 办理要领 找到重叠的最简朴要领是这样的: IF
我有我的桌子 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: |-----| |----| 在全部重叠的环境下,这两个测试都是正确的: >现有范畴的开始日期始终在新范畴的竣事日期之前 不重叠的那些不能通过该测试中的一个或另一个. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读