使用带有FREETEXTTABLE的参数可更改输出

时间:2012-07-04 15:15:59

标签: sql-server-2008 full-text-search

我有这个查询

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对参数特别挑剔?

1 个答案:

答案 0 :(得分:0)

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

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