使用'@'包含运算符

时间:2009-06-08 20:14:45

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

我正在尝试使用Contains运算符。它适用于测试数据,例如  WHERE CONTAINS(file,'"*ash*"')

但是,我想使用像CONTAINS(file,'"*@key*"')之类的东西从TextBox中获取关键字,但这似乎不起作用。请提出任何建议。

由于

1 个答案:

答案 0 :(得分:3)

@用于在SQL中声明变量。因此,它不需要在引号内。例如:

DECLARE @Key varchar(100);
SET @Key = '*ash*'; 
SELECT file FROM SomeTable WHERE CONTAINS(file, @Key);

编辑:如果您通过代码传递内联SQL,我会建议这样的事情:

C#示例:

string key = textBox1.Text;
string query = "SELECT file FROM SomeTable WHERE ";
query += String.Format("CONTAINS(file, '\"*{0}*\"')", key);