第一次来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值的..

解决方案 »

  1.   

    update test set id=id||mode1;

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

  2.   


    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);
      

  3.   

    我也第一次来CSDN,好兴奋啊。学习
      

  4.   

    还是这个:楼上答案对,问题是如果楼主的id字段是数字型的就不能更新成功,会有‘无效数字’的错误提示。所以楼主要首先确定id字段类型。
      

  5.   

    直接:
    update test set id=id||mode1;