[英]SQL Search Query with substring
我正在嘗試將一些搜索C#代碼轉換為舊的SQL項目,但我不知道如何:
編輯:我正在使用MS SQL Server 2012。
抱歉,我認為我的問題有足夠的信息,相應的SQL表如下所示:
TableName :產品
列 :ID(int),名稱(varchar)
資料 :
myProduct的
我的東西
超級產品
我的SQL看起來像:
DECLARE @term varchar;
SET @term = "My Product"
DECLARE @subTerms varchar/array;
SET @subTerms = ??? (Split Term by ' ')
SELECT *
FROM Products
WHERE Name LIKE IN (@subTerms)
我提供的術語應提取數據庫中所有可用的記錄。
根據您所寫的內容,很難確切地說,但是應該是這樣的:
SELECT * FROM Items WHERE Name in ('MyProduct', 'My Stuff', 'Super Product')
順便說一下,我發現LINQPad在這種情況下非常有用:您可以將它指向數據庫,編寫LINQ查詢,然后單擊“ SQL”選項卡以查看為該查詢生成了什么SQL。 SQL往往過於冗長,但是您通常可以很好地了解它的功能,然后自己提出一個簡化版本。
根據更新后的問題,您可以清楚地知道要做什么。 我建議您創建一個具有全文搜索功能的字段,並使用FREETEXT
進行查詢。 這正是進行全文搜索的目的。
可以輸入任何文本,包括單詞,短語或句子。 如果在全文索引中找到任何術語或任何術語的形式,則將生成匹配項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.