SELECT * 
FROM a 
WHERE find_in_set( prov, ',西藏,湖南,云南,内蒙古,宁夏,重庆,安徽,吉林,' ) 替换“|”为“,”用上式查询

解决方案 »

  1.   

    select * from a where prov in('西藏,湖南,云南,内蒙古,宁夏,重庆,安徽,吉林')
      

  2.   

    先用select replace('|西藏|湖南|云南|内蒙古|宁夏|重庆|安徽|吉林|','|','%') from dual
    语句把串S中把有|替换成为%。然后再用select * from a where prov like '%西藏%湖南%云南%内蒙古%宁夏%重庆%安徽%吉林%'
    语句查就可以了
      

  3.   

    raid79(CtrlZ),这个哥们你写错了,你的意思应该是:
    select * from a where prov in('西藏','湖南',''云南,'内蒙古','宁夏','重庆','安徽','吉林')吧