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

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

2020-04-16 · 我是游戏小达人,专注于分享游戏资讯。
肥仙女a
采纳数:477 获赞数:115605

向TA提问 私信TA
展开全部

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

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

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

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

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

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

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

大野瘦子
高粉答主

2019-10-12 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.5万
展开全部

用: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"

   

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
推荐于2017-09-22 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885371
团长

向TA提问 私信TA
展开全部

可用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列的内容就相同了):

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
midasblesshj
2009-07-21 · TA获得超过127个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:180万
展开全部
update 表名 set a=c where c is not null
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuan50019
2009-07-21 · TA获得超过1688个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:460万
展开全部
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")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式