Обработка COALESCE в динамическом SQL с помощью CONVERT - PullRequest
0 голосов
/ 22 февраля 2019

Это хранимая процедура, которая присоединяется к таблице для получения требуемых результатов.Он должен отфильтровать его по @cha_id, и там, где он не предоставлен пользователем, он примет все, что находится в таблице соответственно.Как мы обрабатываем COALESCE в динамическом запросе SQL?Я не мог получить это, поскольку CONVERT должен также проходить для @cha_id.Например, если COALESCE или ISNULL не требуются, это будет работать

WHERE tablea.chan_id = '''+CONVERT(VARCHAR,@chan_id)+''' 

будет работать.Но я не мог понять это в случае, если мне нужен COALESCE / ISNULL.

WHERE tablea.chan_id = COALESCE(CONVERT(VARCHAR,@chan_id),tablea.chan_id)

Я занимался исследованиями напрасно.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 22 февраля 2019

попробуйте, как показано ниже

  'SELECT * FROM tablea WHERE tablea.changelogtype_id= COALESCE(' + @cha_id + ', tablea.chan_id)'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...