您必须四处交换语法。case语句将应用于您要更新的每个值…
UPDATE table SET pay1 = CASE WHEN @columnname IN('name1') THEN pay1 * 100 ELSE pay1 END, pay2 = CASE WHEN @columnname IN('name1', 'name2') THEN pay2 * 20 ELSE pay2 END, pay3 = CASE WHEN @columnname IN('name1', 'name2', 'name3') THEN pay3 * 100 ELSE pay3 END看来您实际上想要的是if语句。
IF @columnname = 'name1' UPDATE table SET pay1 = pay1 * 100, pay2=pay2*20, pay3=pay3* 100ELSE IF @ColumnName = 'name2' UPDATE table SET pay2 = pay2 * 20, pay3 = pay3 * 100ELSE IF @ColumnName = 'name3' UPDATE table SET pay3 = pay3 * 100
希望能有所帮助



