4

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

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

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

4

10 回答 10

5

应该:

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

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

记住:

  • 您可以保留它"SELECT * FROM Contacts WHERE Name like @person",并包含参数值%(C# 中的连接更容易理解)。
  • 您可能还想转义字符串中已有的其他通配符:%_和.[]
于 2012-09-13T05:04:31.870 回答
3

使用语法:

SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern

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

例如:

  • LIKE '%xy'会给你任何以'xy'结尾的东西
  • LIKE '%xy%'会给你任何包含'xy'的东西
  • LIKE 'xy%'会给你任何以'xy'开头的东西
于 2012-09-13T05:03:25.563 回答
2

你是这个意思吗?

searchPerson.CommandText = "SELECT * FROM Contacts WHERE Name LIKE '"+person+"%'";
于 2012-09-13T05:03:40.953 回答
1
searchPerson.CommandText =  
   "SELECT * FROM Contacts WHERE Name like @person + '%'"
于 2012-09-13T05:05:36.713 回答
0
searchPerson.CommmandText = "SELECT * FROM Contacts WHERE Name like '" + @person + "%'";
于 2012-09-13T05:05:37.470 回答
0
select * from Contacts WHERE Name like '%' + '"+@person+"' + '%' 
select * from Contacts WHERE Name like '%' + '"+@person+"' 
select * from Contacts WHERE Name like '"+@person+"' + '%'
于 2013-08-29T05:10:42.183 回答
0

这应该工作

"Select *  from customer where FirstName LIKE '"+TextBox1.Text + '%'+ "'   ";
于 2015-03-12T08:17:20.970 回答
0

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

   "select * from Contacts where name like N'%"+person+"%'"
于 2016-01-05T19:13:15.143 回答
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);
      
于 2021-08-05T15:58:34.700 回答
-1

“SELECT * FROM table_name like concat(@persons,'%')”

我用过。

于 2016-05-18T13:32:24.640 回答