【发布时间】:2010-09-16 10:16:49
【问题描述】:
我有一个在 SQL2005 上运行良好的查询,但将数据库移动到 SQL2008 时出现标题中的错误。
出现问题的代码是使用空参数调用 CONTAINS、CONTAINSTABLE 或 FREETEXT。但是我试图只在有这样的值时调用或加入
where (@search_term = '' or (FREETEXT(lst.search_text, @search_term)))
或
left join containstable (listing_search_text, search_text, @search_term) ftb on l.listing_id = ftb.[key]
and len(@search_term) > 0
但是我找不到任何可以在 SQL2008 上运行的解决方法。有什么想法吗?
我知道我可以执行动态 SQL 或使用具有两种不同情况的 if 语句(使用 FT 连接选择,选择不使用 FT 连接。还有不需要这样做的更好的解决方法吗?
【问题讨论】:
标签: sql-server full-text-search