MSSQLSERVER查询中字符匹配带分隔符号的数字字串

来源:互联网 发布:苹果5移动2g网络 编辑:程序博客网 时间:2024/05/03 17:12

在开发过程中,我们经常会这样存储数据,如someKey=1,5,25,34,48,57,66,79,85,93,.........

在查询的时候,我们一般会这样查询 where someKey like '%5%',希望准确找到包含5这个数字;

但是这样查询会出现这样的问题:

如上面的例子,将会匹配到5,25,57,85,如此等等,解决这类匹配的方法是使用PATINDEX函数

where PATINDEX(someKey,'%[^0-9]5[^0-9]%',这样就能精确匹配到5,而25,57,85这些将被过滤掉;

抛砖引玉!!!