如何在C#命令中使用LIKE运算符?

时间:2012-09-13 05:01:00

标签: c# sql sql-like

我需要在Sql Command中插入一个字符串

search.CommandText = "SELECT * FROM Contacts WHERE Name like ' + @person + % + '";

在命令中使用LIKE的正确方法是什么?

10 个答案:

答案 0 :(得分:5)

应该是:

SELECT * FROM Contacts WHERE Name like @person + '%'

@person是一个参数 - 你不需要单引号。您只需要将其与%连接,它应该有引号。

请记住:

  • 你可以保留它"SELECT * FROM Contacts WHERE Name like @person",参数值包含%(C#中的连接更容易理解)。
  • 您可能还想要转义字符串中已有的其他通配符:%_[]

答案 1 :(得分:2)

使用语法:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

"%"符号可用于在模式之前和之后定义通配符(模式中缺少字母)。

例如:

  • LIKE '%xy'会以'xy'
  • 结尾
  • LIKE '%xy%'可以为您提供包含'xy'
  • 的任何内容
  • LIKE 'xy%'会以“xy”
  • 开头

答案 2 :(得分:1)

这是你的意思吗?

searchPerson.CommandText = "SELECT * FROM Contacts WHERE Name LIKE '"+person+"%'";

答案 3 :(得分:1)

searchPerson.CommandText =  
   "SELECT * FROM Contacts WHERE Name like @person + '%'"

答案 4 :(得分:0)

searchPerson.CommmandText = "SELECT * FROM Contacts WHERE Name like '" + @person + "%'";

答案 5 :(得分:0)

select * from Contacts WHERE Name like '%' + '"+@person+"' + '%' 
select * from Contacts WHERE Name like '%' + '"+@person+"' 
select * from Contacts WHERE Name like '"+@person+"' + '%'

答案 6 :(得分:0)

这应该有效

"Select *  from customer where FirstName LIKE '"+TextBox1.Text + '%'+ "'   ";

答案 7 :(得分:0)

如果字段类型为Nvarchar,请使用以下代码:

   "select * from Contacts where name like N'%"+person+"%'"

答案 8 :(得分:0)

仅供参考!

 string strQuery = "select Ac_Key from AccountDetails where (Ac_Name like '%'+@Ac_Name+'%');
 SqlCommand cmb1 = new SqlCommand(strQuery);
 cmb1.Parameters.AddWithValue("@Ac_Name", AccountName);
      

答案 9 :(得分:-1)

" SELECT * FROM table_name就像concat(@persons,'%')"

我用过它。