sql语句更新两个字段相加的问题

zyy6418783 2010-05-26 08:03:02
第一次来csdn,好兴奋的。请各位大虾们,不吝赐教!
下面有一张表,暂且就叫test表吧,所有字段都是varchar2类型的。
id mode1 mode2 mode3
01234 yeye123 yeye123 yeye123
01235 yeye234 yeye234 yeye234
01236 yeye456 yeye456 yeye456
01237 yeye789 yeye789 yeye789
01238 yeye423 yeye423 yeye423

我要把id字段里面的数据更新为id字段数据加上mode1字段的数据
得出结果为:
id mode1 mode2 mode3
01234yeye123 yeye123 yeye123 yeye123
01235yeye234 yeye234 yeye234 yeye234
01236yeye456 yeye456 yeye456 yeye456
01237yeye789 yeye789 yeye789 yeye789
01238yeye423 yeye423 yeye423 yeye423

用update语句怎么做出来....
假如mode1有为null值的..
...全文
535 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ojuju10 2010-05-27
  • 打赏
  • 举报
回复
直接:
update test set id=id||mode1;
vber1010 2010-05-27
  • 打赏
  • 举报
回复
还是这个:楼上答案对,问题是如果楼主的id字段是数字型的就不能更新成功,会有‘无效数字’的错误提示。所以楼主要首先确定id字段类型。
yuhongpingimu 2010-05-26
  • 打赏
  • 举报
回复
我也第一次来CSDN,好兴奋啊。学习。。。
阿_布 2010-05-26
  • 打赏
  • 举报
回复

UPDATE test SET
mode1=(CASE WHEN mode1 IS NULL THEN to_char(id) ELSE id||mode1 END),
mode2=(CASE WHEN mode2 IS NULL THEN to_char(id) ELSE id||mode2 END),
mode3=(CASE WHEN mode3 IS NULL THEN to_char(id) ELSE id||mode3 END);
tangren 2010-05-26
  • 打赏
  • 举报
回复
update test set id=id||mode1;

update test set id=concat(id,mode1);

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧