嗨我有一个更新查询,如果一个字段为null,那么我希望值转到另一个字段
这是我想做的一个例子:
UPDATE Table SET
CASE WHEN Column1 is NULL
THEN Column2 = @Update
ELSE Column1 = @Update
END;
现在这不起作用,因为我在单词case上遇到错误但有没有办法做我想要完成的事情?我知道如果我使用两个更新语句,但是想知道它是否可以在一个查询中完成,那么可以这样做吗?
答案 0 :(得分:3)
您在SQL语句中使用的CASE语法不正确。 CASE必须返回一个表达式,它不能在纯SQL中包含一个语句。
update Table
Set Column1 = Case when Column1 is NULL Then NULL Else @Update END,
Column2 = Case when Column1 is NULL Then @Update Else Column2 END