declare @s varchar(10)
set @s = '8'select * 
from ta
where charindex(';'+@s+';' ,';'+colname+';') > 0 

解决方案 »

  1.   

    select *
    from tb
    where charindex(';8;',';'+数据列+';')>0
      

  2.   

    ';'+Col+';' like +';'+rtrim(8)+';'
    或用charindex/patindex
      

  3.   

    -2. 使用LIKE或者PATINDEX进行编号查询
    --查询的值列表
    DECLARE @idlist varchar(100)
    SET @idlist='1,2,3'--查询
    SELECT * FROM tbname WHERE CHARINDEX(','+RTRIM(fdname)+',',','+@idlist+',')>0
    SELECT * FROM tbname WHERE PATINDEX('%,'+RTRIM(fdname)+',%',','+@idlist+',')>0
    SELECT * FROM tbname WHERE ','+@idlist+',' LIKE '%,'+RTRIM(fdname)+',%'
    GO