tsql中的条件字段替换

时间:2018-06-15 16:44:13

标签: sql sql-server tsql

我想尝试一些数据:

Col1 | Col2 | Col3 | Col4
-------------------------
One  | Two  | NULL | Foo
Two  | Bar  | Baz  | NULL

我想知道是否有空。就像在,如果该特定行的Col4中没有NULL一样,将Col2中的值替换为Col4。所以,它会像:

Col1 | Col2 | Col3 | Col4
-------------------------
One  | Foo  | NULL | Foo
Two  | Bar  | Baz  | NULL

我可以为行动提出“子程序”,但我无法让它有条件地运作。

这是我到目前为止所做的:

update dbo.Table 
    set dbo.Table.First_Name=dbo.Table.ZV_First_Name
    from dbo.Table
         join dbo.Table
         on
            (dbo.Table.First_Name=dbo.Table.ZV_First_Name);

但是,我想我已经离开了。

任何帮助都会非常感激。

谢谢大家。

2 个答案:

答案 0 :(得分:2)

根据您的原始问题:

update t
    set col2 = col4
    where col4 is not null;

我不太确定你提出的查询是如何适应的。

答案 1 :(得分:0)

你应该使用where子句,例如:

update dbo.Table 
set dbo.Table.First_Name=dbo.Table.ZV_First_Name
where dbo.Table.ZV_First_Name is not null