如何搜索表列存储的CSV

时间:2013-06-04 18:53:38

标签: sql sql-server-2008

我有列存储像这样的标签“tag1,tag2,tag3,tag4”我希望能够使用类似关键字Resources.tags搜索标签。 这是我的sql查询结果是0

Select Resources.tags from Resources where Resources.tags  like '% tags2 %'

1 个答案:

答案 0 :(得分:0)

您的代码是空格还是逗号?你的语法很好,除了它正在寻找'tags2'而不是'tags2':

SELECT Resources.tags 
FROM Resources 
WHERE Resources.tags  LIKE '%tags2%'

一般的不良做法,但这应该有用。

要为拾取不需要的值添加一些保护,您可以强制使用逗号位置:

SELECT Resources.tags 
FROM Resources 
WHERE Resources.tags  LIKE '%,tags2'
   OR Resources.tags  LIKE 'tags2,%'
   OR Resources.tags  LIKE '%,tags2,%'

请记住,最佳做法是不要在同一个字段中保留多个值。