Скорее всего, вы добавляете запрос без предложения WHERE
:
SELECT *
FROM mytable
AND field LIKE '%test%'
выдаст вам эту ошибку.
Сделайте ваш запрос заглушкой следующим образом:
SELECT *
FROM mytable
WHERE 1 = 1
, который выберет все, если вы не добавите к нему дополнительные условия.
В вашем случае это даст:
SELECT *
FROM mytable
WHERE 1 = 1
AND field LIKE '%test%'
, который является действительным запросом.
Я не хочу использовать динамический sql.
Вы используете .
Вам лучше переписать ваш запрос так:
SELECT *
FROM mytable
WHERE @param IS NULL
UNION ALL
SELECT *
FROM mytable
WHERE field LIKE '%' + @param + '%'
и связывайте NULL
, если ваше текстовое поле пусто.