我被提供了一個以逗號分隔的字串形式的關鍵詞串列。我需要查看資料庫表中的某一列,并回傳該列包含所有關鍵字的任何順序的所有行。只要該列包含所有的關鍵字,我將回傳該行。
例如:
HeroId HeroName
-------- -------------------------
1 Ironman
2超人
3 蜘蛛人
4 Otherman
查詢字串。'er,man,s'
查詢字串:'er,man,s'
預期的結果。Superman, Spiderman
解釋:只有Superman和Spiderman含有關鍵詞er、man和s。
我希望這有意義。
uj5u.com熱心網友回復:
你可以使用string_split()和其他一些邏輯:
select t.heroid, t.heroname
from t cross apply
string_split(@query, ', ') s
on t.heroname like concat('%'/span>, s.value, '%'/span>)
group by t.heroid, t.heroname
having count(distinct s. value) = (select count(distinct ss. value) from string_split(@query, ', ') ss);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/311068.html
標籤:
