将第1列的值替换为第2列的值

时间:2019-04-24 14:04:53

标签: sql-server replace

我有2列,其值如下:

Col1   | Col2

None   |   1
1      |   2
None   |    3

我只想用第2列的值替换“第1列”的值

我已经在论坛中搜索了一些类似问题,但找不到任何类似想法

希望你认识我。

2 个答案:

答案 0 :(得分:1)

如果要替换数据,则应使用update

Update tablename
Set Col1 = Col2
Where Col1 = 'None';

如果您想编写一个不会更改数据但将用不同的信息掩盖NULL的查询,则可以使用Paul的答案,或者如果您想用不同的信息掩盖'None',请使用Larnu使用case语句的想法:

select case when Col1 = 'None' then Col2 else Col1 end as Col1, Col2
from tablename;

如果Larnu发布了答案,则您可能要给予Larnu荣誉。

答案 1 :(得分:0)

这是coalesce() function

的好用例
select coalesce(Col1, Col2) as Col1 from table_name

注意:如果列的值实际上是字符串None而不是NULL数据类型,那么它将不起作用。