表数据
1-"A11111,B22222,C33333,D44444,B22222"
2-"A11111,C33333,D44444,B22222,D44444"
3-"A11111,E55555,C33333,D44444,B22222"
如果使用
select *
from table
where data = 'E55555'
可以获得3号数据
由于
答案 0 :(得分:0)
试试这个:
SELECT * FROM [table] WHERE [data] LIKE '%E55555%'
答案 1 :(得分:0)
此查询将帮助您处理逗号分隔数据搜索:
SELECT * FROM [table] WHERE
[data] ='E55555' OR -- IF record contains only this value
[data] LIKE 'E55555,%' OR -- If record starts with the value followed by comma and others
[data] LIKE '%,E55555' OR -- If record ends with the value preceeded by comma and others
[data] LIKE '%,E55555,%' -- If record contains the value in middle
答案 2 :(得分:0)
还有另一个变种
SELECT * FROM [table] WHERE ','+[data]+',' LIKE '%,E55555,%'
但问题是,您所要求的将无法使用普通索引,这意味着每次查询时都会进行低效的表扫描。您可能需要考虑将逗号分隔的值分解为它们自己的列,以便您可以有效地查询它们。因为它有一个“超级”列,可以将多个数据块分成一列。