为什么contains方法不能与replace一起使用

ny6fqffe  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(237)

我正在使用SQLServer2014,并尝试使用 REPLACE 方法 CONTAINS 方法如下:

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

但是查询返回一个错误
“replace”附近的语法不正确。
我怎样才能正确地做呢?

vfhzx4xs

vfhzx4xs1#

你可以这样写:

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

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

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

但首先,你需要这样做

klsxnrf1

klsxnrf12#

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

select
*
from cte
where contains(col, name)

相关问题