我想更新表中的两列。第二列的值取决于第一列;如果第一个为Null,则第二个值为'false',否则为'true'。
我可以在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');

最佳答案

您正在寻找 CASE 表达式:

Column2 = CASE WHEN @NewColumnValue IS NULL THEN 'False' ELSE 'True' END

09-25 23:17