Я хочу написать запрос для SQL Сервера, который при необходимости проверяет переменную среды. Я вызываю свой запрос из PowerShell с чем-то вроде
$sqlVariables = "MY_VAR='something'"
Invoke-Sqlcmd ... -InputFile myQuery.sql -Variable $sqlVariables `
И myQuery.sql
имеет предложение вроде:
WHERE sometable.somefield = $(MY_VAR)
Но я не могу запустить этот запрос в SQL Управление сервером Studio, потому что переменная не установлена. Если я объявлю переменную в SQL, я могу сделать что-то вроде:
WHERE (@MY_VAR IS NOT NULL AND somefield.somefield = @MY_VAR)
Есть ли способ проверить, существует ли $(MY_VAR)
, чтобы я мог поставить тест в первой половине WHERE
предложение и пропустить сравнение, если это не так? Я гуглил повсюду и не нашел ничего близкого.