如何匹配字符串的任何部分?

时间:2011-12-14 19:45:08

标签: c# .net sql-server-ce

我有一个类似的列:

name         value 
John kennedy 1999
Bill gates   8388383
Obama        11110

如果我尝试获取1999john

,我需要一个与kennedy匹配的查询

我试过了:

  cmd.CommandText = "select value from contacts where name like @name";
  cmd.Parameters.AddWithValue("@name", "%" + name);

如果@namejohn,则返回0列    如果'@ name'为kennedy,则会返回1999

4 个答案:

答案 0 :(得分:3)

在名称的两边加上%

cmd.Parameters.AddWithValue("@name", "%" + name + "%");

答案 1 :(得分:3)

你可以尝试:

cmd.Parameters.AddWithValue("@name", "%" + name + "%");

答案 2 :(得分:2)

您需要在值的两端使用通配符:

cmd.Parameters.AddWithValue("@name", "%" + name + "%");

答案 3 :(得分:0)

似乎它可能与参数值的情况有关,尝试将列值和参数值设置为大写或小写,并在SQL中查看是否有帮助