Принятый ответ:
"...WHERE [OA_Name] = '%' + @searchTerm + '%'";
При этом символы %
будут рассматриваться как текстовые литералы.
Я был немного удивлен, потому что слово «подстановочный знак» в заголовке вопроса предполагает, что целью является сопоставление с образцом.Если это действительно так, я бы рекомендовал заменить оператор равенства =
на оператор ALIKE
, например
"...WHERE [OA_Name] ALIKE '%' + @searchTerm + '%'";
Проблема с оператором LIKE
заключается в том, что ядро базы данных Access (ACE,Jet, что угодно) использует разные символы подстановки в зависимости от так называемого ANSI Query Mode .Предположительно, вы используете ANSI-92 Query Mode, подразумевая использование SqlOleDb (но знаете ли вы об этом наверняка?)
Преимущество ALIKE
состоит в том, что он использует одинаковые подстановочные знаки 'Standard' независимо от ANSIРежим запроса: %
для нескольких символов и _
для одного символа.