怎样将sql数据库中同一表中的一列数据更改为另外一列的数据?

比如一个表有三个字段a,b,c;a有以下值:1001、1002、1003、1004,b存储相应名称,然后c字段有:1111、null、null、1114,问怎么能将a字段的值更改为c字段不为空的值,就是将c的值全部放到a里面去,但如果c为null的话,a的值不改变?
一楼的方法试了好像不行啊,有错 ;二楼的方法我开始就这么想的,可是行不通诶,根本改动不了

1、打开SQLServerManagement管理工具,使用sql语句创建一张测试表:

2、在测试表中,插入3条测试数据:

3、查询刚刚插入的数据:select*fromtblUpdate;

4、使用一条语句批量修改整个表的数据,慎用:updatetblUpdatesetCol2='女';

5、使用一条语句批量修改指定条数的记录:updatetblUpdatesetCol2='第二次修改'whereId=1orId=2;

6、使用一条语句批量修改这三条数据(按条件修改值):

7、使用一条语句批量修改数据,使用where和casewhen。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-10-12

用:update 表名 set a=c where c is not null即可。

update 表名 set 列名=想改的值

例子:

数据库表 Card 中的某列名为date ,列中的数据都不相同,把这一列的所有数据都改为2013

update Card set Date=2013

扩展资料:

注意事项

SQL中新增列或者说添加字段的语法:

alter table 表名 add 列名 数据类型

二、例如:在表texttable中添加一列字符型字段colnew:

alter table texttable add colnew char(20)

三、添加的新列,默认值为空值NULL。需要根据需求使用SQL语句更改

1、SQL修改列的语法:

update 表名 set 字段 = 赋值 where字句(确定要修改的列)

2、实例:

update texttable set colnew = 'temp';--把所有行的 colnew列的值改为 "temp"

update texttable set colnew = 'temp' where id=1000 ;--把ID为1000的行 colnew列的值改为 "temp"

   

本回答被网友采纳
第2个回答  推荐于2017-09-22

可用update语句来更改,但要注意,两列的属性及长度应尽量保持一致,或被更改的列的长度大于另一列的长度,否则在update过程中容易报错。

1、创建测试表,插入数据:

create table test
(id int,
name varchar(10),
name1 varchar(10))

insert into test values (1,'a','s')
insert into test values (2,'b','w')
insert into test values (3,'c','x')

数据如下:

2、现在要将name1的内容更改为name中的内容,可用如下语句:

update test set name1=name;

3、更改后的结果如图(此时name和name1列的内容就相同了):

第3个回答  2009-07-21
update 表名 set a=c where c is not null本回答被提问者采纳
第4个回答  2009-07-21
select a,b,c=case when a>b then 'F' when a<b then 'T' end from table
update [table] set c=iif(a>b,"F","T")

怎样将sql数据库中同一表中的一列数据更改为另外一列的数据?
1、打开SQLServerManagement管理工具,使用sql语句创建一张测试表:2、在测试表中,插入3条测试数据:3、查询刚刚插入的数据:select*fromtblUpdate;4、使用一条语句批量修改整个表的数据,慎用:updatetblUpdatesetCol2='女';5、使用一条语句批量修改指定条数的记录:updatetblUpdatesetCol2='第二次修改'...

sql 如何把一个表的一列值替换为另外一个表的一列值
from (select rowid=row_number() over (order by var),from t1 where name='Tommy') a inner join (select rowid=row_number() over (order by var),from t2 ) b on a.rowid=b.rowid 结构化查询语言 结构化查询语言(英文简称:SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设...

sql update语句 一张表的数据更新到另一张表
在数据库操作中,SQL的UPDATE语句用于更新表中的数据。当您需要将一张表的数据更新到另一张表时,可以使用JOIN操作将两个表连接起来,并根据特定条件进行数据迁移。例如,假设您有两张表:tbl_1 和 tbl_2。在这两个表中,表tbl_1的类别字段和表tbl_2的物料组描述字段值相同,您希望将表tbl_2的...

如何将sql数据库中一列中的值复制到另一列
update 表 set col2=col1 就是将col1的内容“复制”到col2,更新操作 分离数据库后删除日志文件再附加有一定的风险,如果日志文件中有未提交事务,删除日志文件后是不能直接附加的。不知道你为什么要删除日志文件,是不是日志文件占用了很大的空间?那可以截断事务日志,然后收缩就可以了。--截断事务日...

SQL语句把同一个表中的a字段中的数据复制到另一个字段b中
SQL语句把同一个表中的a字段中的数据复制到另一个字段b中可以使用update语句,例如:update cust set s8_16=unit , unit='';上述语句将unit字段内容更新到s8_16字段内,然后将unit字段内容置为了空。

SQL数据库怎样怎样把一列里的内容复制到另一列文字当中
SQL 语句为:update table a set a.SH=concat(substring(a.SH,2,7),a.XH)解释:substring(a.SH,2,7) 是从SH列的第二个位置截取7个字符长度字符“(2017)第”concat(s1,s2) 函数是将截取出来的字符串和a.XH列值拼接一起 最后将拼接好的新字符串赋值给a.SH列 ...

sql行转列
三、PIVOT操作实现行转列 PIVOT是SQL中的一个功能强大的操作,它可以更简洁地实现行转列。通过PIVOT,我们可以指定某个字段作为转换的列标题,并将其他字段的值转换为相应的列数据。使用PIVOT操作,可以很方便地将行数据转换为列数据,并且支持多行的数据转换。四、动态SQL实现行转列 在某些情况下,我们...

如何将sql数据库中一列中的值复制到另一列
update table set 字段1 = 字段2 where 条件

在SQL数据库中如何将一个表中某几列单元格求和后的数据,更新到另一张...
先将A、B表都有的产品在B表中进行累加,代码如下(mssql适用,oracle、DB2不适用):update B表 set b.入库总数量=b.入库总数量+a.入库总数量,b.库存总金额=b.库存总金额+a.库存总金额 from B表 as b,(select 料号,sum (入库数量) as 入库总数量,sum(总金额) as 库存总金额 from 表A ...

求SQL2000数据库中将一个表中的某列整列复制到另一个表中的方法
你2表中只有两个字段还是多个字段?如只有两个,并且表2是空表时可用:insert into b select a,b from table1 如不止两个字段的,你需要找出表1和表2的对应关系,如表1.id=表2.id 不过这样的update稍显麻烦

相似回答