表 table_1数据如下:
name value
11 1
22 2
12 1;2希望使用如下语句将表里的三行记录都查询出来,发现达不到效果,烦请指点:
SELECT * FROM Table_1 WHERE PATINDEX('%1;2%',value)>0 or PATINDEX('%'+VALUE+'%','11112')>0
name value
11 1
22 2
12 1;2希望使用如下语句将表里的三行记录都查询出来,发现达不到效果,烦请指点:
SELECT * FROM Table_1 WHERE PATINDEX('%1;2%',value)>0 or PATINDEX('%'+VALUE+'%','11112')>0
WHERE charindex(';1;',';'+value+';')>0 or charindex(';2;',';'+value+';')>0
---测试数据---
if object_id('[table_1]') is not null drop table [table_1]
go
create table [table_1]([name] int,[value] varchar(3))
insert [table_1]
select 11,'1' union all
select 22,'2' union all
select 12,'1;2'
---查询---
SELECT * FROM Table_1
WHERE charindex(';1;',';'+value+';')>0 or charindex(';2;',';'+value+';')>0---结果---
name value
----------- -----
11 1
22 2
12 1;2(3 行受影响)