Я пишу сценарий SQL, который мы хотим, чтобы наша бухгалтерия могла редактировать, не занимаясь инженерным делом.
Общая идея заключается в том, чтобы иметь сценарий .sql, который определяет некоторые переменные вв верхней части запроса, а затем под ним находятся несколько сложных запросов, использующих эти переменные.
Проблема, с которой мы столкнулись, заключается в том, что мы хотим, чтобы бухгалтерия могла указать фильтр для использования.Например:
DECLARE @year INT
DECLARE @month INT
DECLARE @filter VARCHAR(30);
SET @year = 2010
SET @month = 7
SET @filter = '%test%'
Здесь команда может изменить месяц и год, который возвращают последующие запросы.Они также могут определять ОДИН элемент фильтра, в этом примере, исключая любые записи, в которых имя пользователя содержит строку 'test'
.
Мой вопрос заключается в том, существует ли способ указать ИЛИ для LIKE()
.Например, в идеале у нас должна быть переменная @filter
, например, '%test%
или %other%
.Теперь я знаю, что это ненастоящий синтаксис, но мне интересно, есть ли синтаксис, который позволяет мне достичь этого.Я поцарапал MSDN по синтаксису LIKE()
без радости.Должен ли я использовать другое выражение запроса?