为什么CONTAINS方法不能与REPLACE一起使用?

问题描述 投票:0回答:1

我使用的是SQL Server 2014,我试图执行一个查询,并使用 REPLACE 办法 CONTAINS 这样的方法。

SELECT *
FROM A
WHERE CONTAINS(Name, REPLACE('abcd', 'a', 'b'))

但查询返回一个错误

REPLACE'附近的语法不正确。

我如何才能正确地做?

sql sql-server contains
1个回答
1
投票

你可以写成下面这个样子。

declare @param nvarchar(100)='abcd';

    set @param=  REPLACE(@param,'a','b');

    SELECT *
    FROM PersonAddress
    WHERE CONTAINS(FullName, @param)

但首先,你需要这样做

full-text search index


0
投票

试着用 cte

with cte as
(
  select 
    *
  from A
  where REPLACE('abcd', 'a', 'b') as col
)

select 
  *
from cte
where contains(col, name)
© www.soinside.com 2019 - 2024. All rights reserved.