【问题标题】:Searching using Contains in SQL在 SQL 中使用 Contains 进行搜索
【发布时间】:2020-01-20 07:03:56
【问题描述】:

我有一个用于搜索数据的查询:

Declare @final varchar(20)
Declare @input varchar(50) = 'cat inot'

Set @final = '"*'+@input+'*"'

Select entry from tblentry where contains(entry,@final)

在输入栏中,我们的数据为:'cat is not fruit' 使用包含如何修改我的查询以达到要求。

【问题讨论】:

  • 您使用的是哪个DBMS 产品? “SQL”只是一种查询语言,而不是特定数据库产品的名称——而且您的代码是非标准 SQL。请为您正在使用的数据库产品添加tagWhy should I tag my DBMS
  • 试试like。效果更好。

标签: sql contains


【解决方案1】:

请尝试containstablesearch 首先,您需要在所需表上启用全文搜索 然后拆分并在单词之间添加AND停用词

   Declare @final varchar(20)
    Declare @input varchar(50) = 'cat and is and not'

    Set @final = '"*'+@input+'*"'

    Select entry from tblentry CONTAINSTABLE(tblentry , entry , @final)

contains table search 比 like if data has more

【讨论】:

    【解决方案2】:

    CHARINDEX 可以为您提供以下帮助。

    DECLARE @document varchar(64);  
    SELECT @document = 'Reflectors are vital safety' +  
                       ' components of your bicycle.';  
    SELECT CHARINDEX('bicycle', @document);  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 2017-07-07
      • 2014-04-14
      • 1970-01-01
      相关资源
      最近更新 更多