gpt4 book ai didi

mysql - SQL:只有当该值为空时,如何才能更新列上的值?

转载 作者:IT老高 更新时间:2023-10-29 00:13:14 25 4
gpt4 key购买 nike

我有一个 SQL 问题,对某些人来说可能是基础问题,但让我感到困惑。

这是表“Person”的列名示例:PersonalID、FirstName、LastName、Car、HairColour、FavDrink、FavFood

假设我输入了行:

121312, Rayna, Pieterson, BMW123d, Brown, NULL, NULL

现在我想更新这个人的值,但前提是新值不为空,更新:

121312, Rayna, Pieterson, NULL, Blonde, Fanta, NULL

新行需要是:

121312, Rayna, Pieterson, BMW123d, Blonde, Fanta, NULL

所以我在想一些事情:

Update Person(PersonalID, FirstName, LastName, Car, HairColour, FavDrink, FavFood) set Car = @Car (where @Car is not null), HairColour = @HairColour (where @HairColour...)... etc.

我唯一担心的是我无法在查询末尾对所有条件进行分组,因为它要求所有值都具有相同的条件。如果@HairColour 不为空,我不能做类似更新 HairColour 的事情

最佳答案

我为此使用合并: http://msdn.microsoft.com/en-us/library/ms190349.aspx

update Person
set Car = coalesce(@Car, Car), HairColour = coalesce(@HairColour, HairColour)

关于mysql - SQL:只有当该值为空时,如何才能更新列上的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2675968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com