CONTAINSTABLE 和 CONTAINS,传递哪个字符串来匹配所有记录?

Posted

技术标签:

【中文标题】CONTAINSTABLE 和 CONTAINS,传递哪个字符串来匹配所有记录?【英文标题】:CONTAINSTABLE and CONTAINS, which string to pass to match all records? 【发布时间】:2009-02-03 07:55:54 【问题描述】:

我们在 SQL Server 2005 中有一个使用 CONTAINSTABLE() 的单语句函数。 当我们传递一个非空的搜索字符串时,一切正常。是否有可以传递给 CONTAINSTABLE() 的通配符字符串,以便匹配表中的所有记录。

亲切的问候,

【问题讨论】:

【参考方案1】:

如果没有要搜索的全文短语,您必须使用存储过程中的逻辑来运行没有 CONTAINSTABLE 谓词的 SQL 语句。

【讨论】:

【参考方案2】:

我认为没有,您必须执行类似(伪代码)之类的操作

IF @searchterm='*' 
    SELECT * FROM YOURTTABLE
ELSE
    SELECT * FROM YOURTABLE INNER JOIN CONTAINSTABLE etc
END IF

【讨论】:

以上是关于CONTAINSTABLE 和 CONTAINS,传递哪个字符串来匹配所有记录?的主要内容,如果未能解决你的问题,请参考以下文章

SQL 2008 全文搜索词邻近度

如何在实体框架中映射 CONTAINSTABLE 函数(代码优先)?

帮助! - SQL - IF Else IF 逻辑用于返回 Containstable 选择

使用 CONTAINSTABLE 在 SQL Server 全文搜索查询中转义 & 号

如何实现 NOT LIKE 作为 containstable(Full-Text Query) 的搜索条件?

7645 Null 或空全文谓词