使用CONTAINS的SQL查询不适用于指定关键字

时间:2014-11-18 09:44:25

标签: sql sql-server stored-procedures full-text-search

我在SQL Server中编写一个简单的查询:

SELECT * 
FROM Table1 
WHERE CONTAINS(Column1, 'MY')

但它不会返回任何结果。使用like时,它会返回结果。

关键字“我的”不起作用有什么具体原因吗?

更新: 如果我使用其他关键字,它可以工作,只有特定的'MY'似乎是我不能使用。我的专栏已经设置为全文索引。出于性能目的,我更喜欢使用CONTAINS。

2 个答案:

答案 0 :(得分:0)

你可以做点什么

select * from Table1 where Column1 like '%MY%'

答案 1 :(得分:0)

使用linq时,您可以使用C#中使用的语句。它将被翻译成SQL,这是一种数据库可以执行的语言。所以,尝试这样的事情:

string sql = "SELECT * FROM Table1 WHERE Column1 like @Column1";

在您的命令中,尝试添加参数以替换@Column1

command.Parameters.AddWithValue("@Column1", "%MY%");

%字符代表任何内容。所以,如果你想像StartWith这样的命令,就像我们从字符串那样做,只需使用MY%