我有column
表,其中包含CSV value
个。例如:2,3,4,1,13
我想从string
中找到具体的CSV
,并从row
返回string
匹配的完全搜索csv
。
表格
tbl_A(ID,name,Csv)
ID name CSV
1 ABC 1,2,13,15
2 PQR 1,4,3,5
@SearchSting=13
需要输出:
ID name CSV
1 ABC 1,2,13,15
select * from tbl_A where csv like '%@SearchSting%'
这将给出两行。 :(
帮助表示赞赏!
答案 0 :(得分:2)
让我首先说这是一个糟糕的数据库设计,应该避免。 如果可能,您应该规范化数据库并将该Csv列更改为包含其自身行中每个值的表。 进一步阅读:Is storing a delimited list in a database column really that bad?
但是,如果无法对数据库进行规范化,则可以执行以下操作:
SELECT Id, Name, Csv
FROM tbl_A
WHERE ',' + Csv + ',' LIKE '%,' + @SearchString + ',%'