update b
set B=cast(a.A as varchar(20))
from A表 a join B表 b
on a.C=b.C

解决方案 »

  1.   

    不行啊,报出:不允许从数据类型 char 到数据类型 money 的隐性转换(表 'fzd2zxxxtsg.dbo.tmxxb',列 '单价')。请使用 CONVERT 函数来运行此查询。
    代码如下:update tmxxb set tmxxb.单价=cast(wxxxb.获得方式 as char(8)) from tmxxb.单价 join wxxxb.获得方式 on tmxxb.控制号=wxxxb.控制号
      

  2.   

    update tmxxb set tmxxb.单价=cast(wxxxb.获得方式 as money) from tmxxb.单价 join wxxxb.获得方式 on tmxxb.控制号=wxxxb.控制号
      

  3.   

    A-->B
    还是
    B-->Achar-->Money
    还是
    Money--> char如果Money--> char,象1楼这么写就可以了如果char-->Money,检查你的数据,char的有没有不是数字的,不是数字当然不能转换,写什么语句也就没用了
      

  4.   

    如果char-->Money,如果数据没问题,象3楼这么写就可以了
      

  5.   

    update b
    set B=STR(a.A)
    from A表 a join B表 b
    on a.C=b.C
      

  6.   

    create table a
    (
    a money,
    c char(4)
    )create table b 
    (
    b char(20),
    c char(4)
    )
    insert a(a,c)
    values(100.00,'0001')insert b(b,c)
    values ('0','0001')Update b 
    set b = (select rtrim(ltrim(STR(a))) from a where a.c = b.c)select * from b
      

  7.   

    谢谢楼上的各位了:问题解决了,是char转成money,还有数据库中的数据也有问题,修改后,在运行语句就可以了.