确定数字位于表的两列之间的范围

时间:2019-10-22 06:15:36

标签: oracle

我需要查询,并且我有下面的表格

Key StartNum EndNum
--- -------- ------
A   1        3
B   6        8
C   10       15

如果我给的值是2,那么我的结果集应该显示如下

Key StartNum EndNum
--- -------- ------
A   1        3

如果该值为12,则

Key StartNum EndNum
--- -------- ------
A   10        15

3 个答案:

答案 0 :(得分:2)

尝试一下:

SELECT *
FROM yourTable
WHERE ? BETWEEN StartNum AND EndNum;

?占位符替换为您要搜索的值(或者,如果使用准备好的语句,则将该值绑定到?)。

答案 1 :(得分:1)

以下查询应给出预期结果

select key,StartNum ,EndNum from TABLE
where StartNum < :value and EndNum >:value;

答案 2 :(得分:0)

您可以尝试


with mytab(key,startnum,endnum) as 
(select 'A',1,3 from dual
union all
select 'B',6,8 from dual
union all
select 'C',10,15 from dual)
select * from mytab where &input between startnum and endnum
相关问题