@LazariusPaskalius

Есть ли символ, обозначающий «any»?

Добрый день, предположим, что у меня есть запрос на выборку по 4 параметрам, но я не знаю сколько у меня будет параметров, когда я буду выполнять запрос, могу ли я указать "специальный симовол", например name='any', чтобы этот параметр не влиял на результаты выборки?
  • Вопрос задан
  • 438 просмотров
Решения вопроса 2
Adamos
@Adamos
Можно написать name LIKE '%'
Только тут важно не забыть поставить рядом канделябр и вытянуть руки.
Ответ написан
tsklab
@tsklab
Здесь отвечаю на вопросы.
CREATE PROCEDURE SearchGrid @P1 VARCHAR(100) = NULL, @P2 VARCHAR(100) = NULL…
AS
  SELECT
…
    WHERE ((NOT @P1 IS NULL) AND (SearchLike.Search LIKE '%' + @P1 + '%'))
       OR ((NOT @P2 IS NULL) AND (SearchLike.Search LIKE '%' + @P2 + '%')) 
…
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@d-stream
Готовые решения - не подаю, но...
классика:
...
where 
(@param1 is null or field1=@param1)
and
(@param2 is null or field2=@param2)
...
and
(@paramN is null or fieldN=@paramN)

ну или где надо по вкусу @paramM is null or fieldM like @paramM
Ответ написан
Комментировать
@MaLuTkA_UA
Для таких целей и придумали функцию coalesce...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы