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'

これは何の結果も生み出しません。私が理解している限り、これら2つのクエリは同じ出力を生成するはずですか?または、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 に答える