0

我有这个查询

select top 10 * from FREETEXTTABLE([Venue], FullAddress,  'Canada')

工作正常,并产生结果;

现在,如果我从代码中调用它并提供参数,则将其更改为

exec sp_executesql N'select top 10 * from FREETEXTTABLE([Venue], FullAddress,  ''@p'')',N'@p nvarchar(4000)',@p='Canada'

这不会产生任何结果。据我了解,这两个查询应该产生相同的输出?还是 FREETEXTTABLE 对参数特别挑剔?

4

1 回答 1

0

在这种情况下,您不应在使用NVARCHAR参数时添加单引号。请尝试以下操作:

EXEC sp_executesql  N'select top 10 * from FREETEXTTABLE([Venue], FullAddress,  @p)',
                    N'@p nvarchar(4000)',
                    @p='Canada'
于 2012-07-04T15:39:10.497 回答