select * from bseg
where us (between 6603040000 AND 6603189999 )
or ( between 6603200000 AND 6603999999 )
两个BETWEEN AND 区间满足其中一个 ,怎么修改
你应该还有条件的吧,比如什么时候是第一个什么时候是第二个区间
With T as (select * from besg where us between 6603040000 AND 6603189999 ) or (us between 6603200000 AND 6603999999 ))
select * from t
但是不建议这样操作, or 会导致索引失效,如果数据量过多的话,会影响查询效率;
建议问题描述详细一点
如果us字段上有索引,将or改为union查询,可以保证索引正常。使用or的时候,会导致索引失效
where us between 6603040000 AND 6603189999
union all
where us between 6603200000 AND 6603999999