我有一个SQL问题,对某些人来说可能是基本问题,但使我感到困惑。
这是表“Person”的列名的示例:
个人ID,名字,姓氏,汽车,发色,FavDrink,FavFood
假设我输入了该行:
现在,我要更新此人的值,但仅当新值不为null时,才更新:
新行必须为:
所以我在想一些类似的事情:
我唯一关心的是,我无法在查询末尾对所有条件进行分组,因为它将要求所有值具有相同的条件。如果@HairColour不为空,我是否可以做类似Update HairColour的操作
最佳答案
id为此使用合并:
http://msdn.microsoft.com/en-us/library/ms190349.aspx
update Person
set Car = coalesce(@Car, Car), HairColour = coalesce(@HairColour, HairColour)