Sql server 从字符串字段中选择,用SqlServer分隔

Sql server 从字符串字段中选择,用SqlServer分隔,sql-server,Sql Server,表1中的字段包含以“,”分隔的值 name value -------------------------- test 1,2 flower 3 car 4,2 dog 2 我需要一个select命令,用于查找此列中包含特定值的行 string@value=2 从表1中选择*其中? name value ------------------

表1中的字段包含以“,”分隔的值

 name           value
--------------------------
    test           1,2
    flower         3
    car            4,2
    dog            2
我需要一个select命令,用于查找此列中包含特定值的行

string@value=2

从表1中选择*其中?

 name           value
--------------------------
    test           1,2
    car            4,2
    dog            2
试试这个

这里是工作演示

SELECT *
FROM table1 
WHERE CHARINDEX(',2,', ','+value+',') > 0;
由于输入字段的位置和逗号的原因,如果使用LIKE运算符,则需要有几个条件


最好的解决方案是更改数据库结构。永远不要在一列中存储多个值!!!
SELECT * FROM table1
WHERE
      str LIKE '%,' + @input + ',%' OR
      str LIKE @input + ',%' OR
      str LIKE '%,' +@input OR 
      str = @input