Использование оператора IF в обновлении TSQL - PullRequest
6 голосов
/ 18 ноября 2008

Я хочу обновить две колонки в таблице. Значение второго столбца зависит от первого; Если первое значение равно NULL, второе значение равно «ложь», в противном случае это «истина».
Могу ли я сделать это в TSQL или мне нужно отдельно обработать значения в моем коде и изменить SQL, чтобы он подходил. Я искал что-то вроде:

DECLARE @NewColumnValue as nvarchar(10);
SELECT @NewColumnValue = ColumnY From TableY
UPDATE TableX  
SET Column1 = @NewColumnValue,
Column2 = (IF (@NewColumnValue IS NULL) THEN 'False' ELSE 'True');

1 Ответ

21 голосов
/ 18 ноября 2008

Вы ищете выражение CASE:

Column2 = CASE WHEN @NewColumnValue IS NULL THEN 'False' ELSE 'True' END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...