SQl语句 搜索语句

来源:百度知道 编辑:UC知道 时间:2024/06/07 12:28:04
假设表如下
ID title Pid
1 湖南 1,2
2 湖北 2,20,21
3 广东 3,5
4 广西 20
5 浙江 1,2,3

我要根据 pid 来搜索这个表
比如我要查找pid中有2的
结果就是湖南、湖北、浙江
如果是用like结果会将20的也算进去

select *from table where instr(Pid,2)>0

like '2,%' or like '%,2' or
like '%,2,%'
想办法匹配上 转义什么的都可以用上
最好将众多like写在一个方法里面 直接引用

a.like方法
pid like '2,%' or pid like '%,2' or pid like '%,2,%'
提倡以上这个方法(a)
b.不提倡其它 如:截取以及子查询这样效率和性能上说不去

Select * from yourtable where Charindex('2,',cast(Pid as varchar)+',') > 0