В приведенном ниже запросе я выполняю поиск в таблице, называемой сваркой, в этой таблице есть столбец с именем Welds.Prefix, в котором есть NULL-строки, строки с фактическими значениями и строки с пустым значением. Мне нужна помощь в изменении моего запроса ниже, чтобы, когда пользователь вводит непустое и непустое значение в @Prefix, он находил соответствующие строки. И когда @Prefix будет пустым, он найдет, где Welds.Prefix пуст или где Welds.Prefix нулевой, но я не уверен, как go узнать об этом, я понимаю, что мог бы сделать запрос на обновление и изменить столбцы с нулевыми значениями в пустые места, но я ищу другой путь. Я запускаю запрос ниже и получаю сообщение об ошибке «Неверный синтаксис рядом с ключевым словом« ИЛИ »». Я понимаю, почему я получаю ошибку, но я не уверен, как ее исправить, спасибо.
Примечание: @Prefix будет будет введен в интерфейс и не будет привязан только к '', я просто поместил его в запрос для вопросов.
@Prefix varchar(30) = ''
select *
from welds
WHERE Welds.Prefix = CASE WHEN @Prefix <> '' THEN @Prefix END
OR Welds.Prefix = CASE WHEN @Prefix = '' THEN '' OR IS NULL END
РЕДАКТИРОВАТЬ: я в основном хочу выбрать строки, где Weld.Prefix имеет значение null и где Weld.Prefix = '' когда @Prefix = ''