Oracle查询字段中某个字符出现3次的数据

在某个表中有一个ADDRESS字段,记录着地址信息,现在想查询ADDRESS字段中出现3次文字“市”的数据,请问该怎么查询?


已解决,最后选择使用的SQL是

select like_risk_detail from tablename t where instr(t.like_risk_detail,'省',1,3) > 1 and instr(t.like_risk_detail,'市',1,3) > 1  and instr(t.like_risk_detail,'省道',1,1) < 1

相比之下查询的速度更快一些,而且查出来的数据很全

阅读 5.3k
3 个回答

已解决,最后选择使用的SQL是

select like_risk_detail from tablename t where instr(t.like_risk_detail,'省',1,3) > 1 and instr(t.like_risk_detail,'市',1,3) > 1 and instr(t.like_risk_detail,'省道',1,1) < 1

相比之下查询的速度更快一些,而且查出来的数据很全

新手上路,请多包涵

用like。%市%市%市%

select * from 表 where length(ADDRESS)-length(replace(ADDRESS, '市', ''))=3 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进