问题描述
- 关于oracle 的sql 查询 问题
-
哪位大神能帮我看看这个语句怎么写 有区间【i1,i2】与bgpprefix 表中的nstartip 和nstopip 比对,查询能使(i1>=nstartip ,且i2<=nstopip),若存在多个,取nstopip-nstartip 最小的
解决方案
如下就可以了
select * from(
select * from bgpprefix where nstartip<=i1 and nstopip>=i2 order by nstopip-nstartip
) where rownum=1
解决方案二:
哪位大神能帮我看看这个语句怎么写 有区间【i1,i2】与bgpprefix 表中的nstartip 和nstopip 比对,查询能使(i1>=nstartip ,且i2<=nstopip),若存在多个,取nstopip-nstartip 最小的
采用这个
select * from ( select * from bgpprefix where i1>=nstartip and i2<=nstopip order by nstopip - nstartip asc) b where rownum <= 1;
时间: 2024-08-03 15:20:35