如何将数据从一列插入到另一个sql server

时间:2012-04-02 15:17:05

标签: sql-server

我在同一个表中将数据从一列插入另一列时遇到问题。我插入单个行没有问题,但这不是我想要的。我有一个名为“PercentFull”的列,我将此值乘以.01以获得十进制等值,这就是我想要插入到我称为“NewPercentFull”的列中。我尝试过以下方法:

insert into Table1 (NewPercentFull)
select PercentFull * .01
from Table 1

已经存在填充PercentFull列的数据。但是,执行此查询后,我为表中的每一列都获取NULL,包括NewPercentFull。任何人都知道如何实现这一目标?感谢

1 个答案:

答案 0 :(得分:5)

从同一记录中将数据从一列插入另一列,将涉及使用UPDATE语句:

UPDATE Table1
SET NewPercentFull=PercentFull * .01

使用您的查询,您应该在执行该查询后看到Table1中的记录数量加倍。

您已经提到即使是NULL,这些值也是NewPercentFull。如果是这种情况,那么我认为我的查询也可能返回NULL值。当PercentFull也是NULL时会发生这种情况。

为避免这种情况,只有UPDATE记录NULL没有PercentFull值:

UPDATE Table1
SET NewPercentFull=PercentFull * .01
WHERE PercentFull IS NOT NULL