SQL параметризованный запрос, где вы также можете передать «все»? - PullRequest
0 голосов
/ 13 ноября 2018

Трудно найти какую-либо информацию по этому вопросу, но возможно ли передать значение "all" или "*" параметризованному запросу ?, чтобы получить все результаты:

AND st.SomeColumn = ?

где?будет ВЕРНУТЬ ВСЕ МАТЧИ?Таким образом, в теории вы могли бы пропустить любые возможные индивидуальные совпадения или получить все без каких-либо конкатенаций строк (которые, я знаю, вполне возможны и являются моим планом B).

1 Ответ

0 голосов
/ 13 ноября 2018

Нет, вам нужно встроить это в логику запроса. Один простой способ (если столбцы не содержат NULL значений) состоит в том, чтобы передать параметр как NULL и сделать:

 st.SomeColumn = COALESCE(?, st.SomeColumn)

В противном случае:

 (st.SomeColumn = ? OR (? IS NULL))

Для этого необходимо дважды передать параметр - вот почему именованные параметры удобны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...