我需要查询,并且我有下面的表格
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
答案 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