簡體   English   中英

帶子字符串的SQL搜索查詢

[英]SQL Search Query with substring

我正在嘗試將一些搜索C#代碼轉換為舊的SQL項目,但我不知道如何:

  1. 在SQL中分割字符串
  2. 執行“在哪里(@subTerms)”

編輯:我正在使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM