我们有tbl_Articles:
id title tags
=================================
1 article1 science;
2 article2 art;
3 article3 sports;art;
我正在寻找一个查询来返回来自tbl_Articles的记录,其中最常见的单词带有特定的标签字符串(例如:政治;艺术; ):
EX:选择(某些来自tbl_articles)其中标签在&#34; 政治;艺术; &#34; < / p>
结果:
tbl_Articles
id title tags
=================================
2 article2 art;
3 article3 sports;art;
答案 0 :(得分:4)
你在找这个吗?
select a.*
from articles a
where ';'+tags+';' like '%;politics;%' and
';'+tags+';' like '%;art;%'
请注意,我在开头和结尾都使用了分隔符,因此您可以使用&#34; art&#34;和&#34;智能&#34;作为标签。
答案 1 :(得分:0)
您可以使用LIKE predicate
但完成此任务,请注意,它仅适用于Character Patterns
。
我认为您正在寻找 Full-Text Query 。 Free Text
不仅会返回准确的措辞,还会返回与其相关的最接近的含义。
有关以下类型的详细信息 check ..
FREETEXT
FREETEXTTABLE
包含
CONTAINSTABLE
在查询大量非结构化文本数据时,可以最好地实现使用Full-Text
搜索的性能优势。针对数百万行文本数据的LIKE
查询(例如,'%microsoft%')可能需要几分钟才能返回;而对于相同的数据,Full-Text
查询(对于'microsoft')只需几秒或更短时间,具体取决于返回的行数。