是否可以編寫一個基於最低匹配條件返回結果的SQL查詢。例如在SQL Server 2008中使用最低匹配條件運行SQL查詢
SELECT *
FROM table
WHERE column <matches 80% of value 'abbey Road'>
基本上查詢應該由字符串匹配的修道院和路返回行方含列值「艾比路」,也「修道院聖雄甘地路」
是否可以編寫一個基於最低匹配條件返回結果的SQL查詢。例如在SQL Server 2008中使用最低匹配條件運行SQL查詢
SELECT *
FROM table
WHERE column <matches 80% of value 'abbey Road'>
基本上查詢應該由字符串匹配的修道院和路返回行方含列值「艾比路」,也「修道院聖雄甘地路」
Select * from TableName
where ColumnName Like ('%'+Replace(@texttosearch,' ','%')+'%')
確保文本搜索在發送到該查詢之前已經被修剪。上述查詢返回包含修道院道路的所有字符串的結果,而不考慮那裏的位置。
您可以使用帶有通配符的LIKE運算符。以下查詢將按照該順序匹配包含修道院和道路的任何字符串。
SELECT *
FROM TABLE
WHERE COLUMN LIKE '%abbey%road%';
,如果你有你這句話帶有空格的字符串中,你可以只用字符串匹配:如果你有一些表你的話
select *
from test1
where col1 like '%' + replace(@text, ' ', '%');
,你可以這樣做:
select t.col1
from test1 as t
inner join @words as w on t.col1 like '%' + w.word + '%'
group by t.col1
having count(w.word) = (select count(*) from @words)
請參閱sqlfiddle查看示例
您可以查看第e SQL Server – OzrenTkalcecKrznaric