Оператор CONTAINS с использованием '@'
-
12-09-2019 - |
Вопрос
Я пытаюсь использовать Содержит оператор.Он отлично работает с тестовыми данными, например.
WHERE CONTAINS(file,'"*ash*"')
Однако я хочу получить ключевое слово из TextBox, используя что-то вроде CONTAINS(file,'"*@key*"')
, но это, похоже, не работает.Любые предложения, пожалуйста.
Спасибо
Решение
@ используется для объявления переменной в SQL.По этой причине его не обязательно заключать в кавычки.Например:
DECLARE @Key varchar(100);
SET @Key = '*ash*';
SELECT file FROM SomeTable WHERE CONTAINS(file, @Key);
РЕДАКТИРОВАТЬ: Если вы передаете встроенный SQL через свой код, я бы предложил что-то вроде этого:
Пример С#:
string key = textBox1.Text;
string query = "SELECT file FROM SomeTable WHERE ";
query += String.Format("CONTAINS(file, '\"*{0}*\"')", key);
Не связан с StackOverflow