SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
202 个问题
想要实现下面这个更新逻辑:
UPDATE MyTable
IF Val = @Default_Value
THEN SET Val = NULL
ELSE SET Val = @Default_Value
WHERE id = @id
SQL是否支持这样的条件判断式的更新?
你好,
SQL是否支持这样的条件判断式的更新?
是支持的。根据你的问题描述,我觉得这里可以使用CASE WHEN或者NULLIF来进行判断。
像这样:
UPDATE MyTable
SET Val = CASE WHEN Val <> @Default_Value
THEN @Default_Value ELSE NULL END
WHERE id = @id
或者:
UPDATE MyTable
SET Val = NULLIF(@Default_Value , Val)
WHERE id = @id
如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。