在数据库在有一个表,里面有A,B两个字段,
其中A字段中数据如下:
11,23,99,211,311,801
21,23,109,211,311,801
........B字段数据如下
11
23
10现在要实现这种效果,从B字段取第一行记录,如11 ,如何检索A字段中完全包含他的数据?在A字段中只有11才算完全匹配,211,311这种情况要排除去。。
其中A字段中数据如下:
11,23,99,211,311,801
21,23,109,211,311,801
........B字段数据如下
11
23
10现在要实现这种效果,从B字段取第一行记录,如11 ,如何检索A字段中完全包含他的数据?在A字段中只有11才算完全匹配,211,311这种情况要排除去。。
DECLARE @STR VARCHAR(100)
SET @STR='11,23,99,211,311,80121,23,109,211,311,801'
IF CHARINDEX(','+'11'+',', ','+@STR+',')>0
PRINT '11 WAS FOUND'
declare @a table
(
A nvarchar(50),
B nvarchar(50)
)insert into @A
select '11,23,99,211,311,801','11' union all
select '21,23,109,211,311,801','23'declare @s nvarchar(50)select top 1 @s= B from @aselect * from @a
where (',' + A + ',') LIKE '%,'+ B + ',%'
and B = @s 结果:
11,23,99,211,311,801 11