比如有很多数据,我想查以12或者13或者34或者55等等很多有限的组合开头的数据,我知道可以写成select * from table where a like '12%' or a like '13%' or a like '34%' or a like '55%'.......,这种有没有办法组合成一个条件,我知道有种写法是 a like '[1|3]%',这样可以查1或者3开头的数据,但是写成a like '[12|13]%'就不是查12或者13开头的数据了,sql里面的这个竖线没有用到过,网上也没有怎么查到。。有高手可以指点下吗?谢谢啦!!!抱歉,没有分了。
用的sqlServer,有left函数。因为在这个字段上面建了索引,所以我想用like的方式,当然,你这样也是可以的,但是这样就用不到索引了,这个查询数据量很大
追答追求性能就别改了,Or多几次也没什么问题,也方便以后修改!
因为在这个字段上面建了索引,所以我想用like的方式,当然,你这样也是可以的,但是这样就用不到索引了,这个查询数据量很大
追答a like '[1|3]%'
这个'[1|3]%'中的 '[1|3]’用条件函数去实现,后面接再接上 ||‘%’
用case when case when end.类似if else if else if else .......