как сопоставить любую часть строки? - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть столбец что-то вроде:

name         value 
John kennedy 1999
Bill gates   8388383
Obama        11110

Мне нужен запрос, который соответствует 1999, если я пытаюсь получить john или kennedy

Я пробовал:

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

если @name равно john, возвращается 0 столбцов, если '@name' равно kennedy, возвращается 1999

Ответы [ 4 ]

3 голосов
/ 14 декабря 2011

Вы можете попробовать:

cmd.Parameters.AddWithValue("@name", "%" + name + "%");
3 голосов
/ 14 декабря 2011

поставить % с обеих сторон имени:

cmd.Parameters.AddWithValue("@name", "%" + name + "%");
2 голосов
/ 14 декабря 2011

Вам нужны подстановочные знаки на обоих концах вашего значения:

cmd.Parameters.AddWithValue("@name", "%" + name + "%");
0 голосов
/ 14 декабря 2011

Может показаться, что это как-то связано с регистром значения параметра, попробуйте установить значение столбца и значение параметра как в верхний или нижний регистр, так и в SQL, и посмотрите, поможет ли это

...