Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann ich eine Variable verwenden, wenn ich ISABOUT verwende?

Es scheint mir, dass die SQL-Engine aufgrund der Art und Weise, wie Sie die Suchbedingung übergeben, sie nicht als Variable, sondern einfach als Zeichenfolge erkennt. Es ist schon eine Weile her, dass ich etwas mit CONTAINSTABLE gemacht habe aber ich denke, es sollte funktionieren, wenn du es so versuchst.

--- snippet
FROM CONTAINSTABLE
(
 Post,
 Post_cont,
 N'ISABOUT (' + @keywordString + ')'
)
ct
INNER JOIN Post p
  ON ct.[KEY] = p.Post_ID
  ORDER BY ct.[RANK] DESC;

Außerdem müssen Sie möglicherweise die Anführungszeichen "" übergeben. Hier ist eine ähnliche Frage das demonstriert das gleiche Konzept.