原先用MS-sever2000没有碰到过问题,这几天学校机房改用2005后碰到一个问题,希望网友提供下解决方法。
     
      1.有两个表分别为STU_INFO和CLASS_ID,两个表的字段设计是一样的,CLASS_ID中有较新的数据需要更新到STU_ID中,更新条件是STU_INFO.ID=CLASS_ID.ID。
     2.update语句如下
       UPDATE STU_INFO SET STU_STU_ID=CLASS_ID.STU_ID
       FROM STU_INFO,CLASS_ID
       WHERE STU_INFO.ID=CLASS_ID.ID
  
     3.两个表中的STU_ID的字段分别为char(18)
     4.执行过语句后就碰到一个问题在STU_INFO.STU_ID就变成了科学计数法了,但是CLASS_ID.STU_ID是正常的。
     希望网友可以帮忙解决一下,谢谢大家了~

解决方案 »

  1.   

    你修改以后把数据库类型改成decimal.
      

  2.   

    declare @i char(18)
    set @i = '125869325478965628'declare @tb table(id char(18),name varchar(2))insert into @tb(id,name)
    select @i,'a'select * from @tb--125869325478965628 a
    LZ给点儿数据 看看。 我的 2005上没出现这个问题。 
      

  3.   

    数据库类型改成 VARCHAR 试试。
      

  4.   

    请问什么是"字段分别为char(18)"?
    "分别为"一般是带2个的吧,怎么是一个.估计是2个字的类型不一致,UPDATE STU_INFO 
    SET STU_STU_ID=cast(CLASS_ID.STU_ID as [STU_INFO该字段的数据类型])       
    FROM STU_INFO,CLASS_ID         
    WHERE STU_INFO.ID=CLASS_ID.ID