简体   繁体   English

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

[英]how to match any part of string?

I have an column something like: 我有一列类似:

name         value 
John kennedy 1999
Bill gates   8388383
Obama        11110

I need an query that match 1999 if I try get john or kennedy 如果我尝试获取johnkennedy则需要匹配1999的查询

I tried it: 我尝试过这个:

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

if @name is john this returns 0 colums if '@name' is kennedy this returns 1999 如果@namejohn则返回0列;如果'@name'是kennedy则返回1999

在名称的两边都加上%

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

您可以尝试:

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

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

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

似乎与参数值的大小写有关,请尝试将列值和参数值设置为大写或小写以及在您的SQL中,看看是否有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM