咨询一个关于SQL2005 Money类型的问题
网上查阅了很久,始终找不到答案
我的SQL2005 英文版环境下,导入已有数据库发现原来的Money类型下的数据小数点后位数全部变成2位,而原有的SQL2000下所有的Money类型小数点后长度都是4位,请问这个具体是为什么?现在由于这个问题导致我有些脚本无法顺利执行下去。始终找不到解决方法,请各位大佬帮忙~ 

解决方案 »

  1.   


    declare @mm money
    set @mm=12.0003
    select @mm
      

  2.   

    你的机器上面是sql2000的money导入到sql2005的报错吗
    sql2000不能像上面导入
      

  3.   

    只能把sql2005往下面sql2000导入
      

  4.   

    添加一列将这个money型转到新增加的一列上面进行处理
      

  5.   

    具体的方法是我在2005下先创建一个空的数据库,在2000下完整备份数据库数据和share库数据,之后在2005环境中还原,中间没有出现任何错误。只是需要在最后阶段修改一下产品数据库的owner。
      

  6.   

    对应的列都是money吗?
    可能发生了隐式转换,转换成了flaot
      

  7.   

    很少用money  
    一直用 decimal(18,n)
      

  8.   

    测试环境
    declare @ii money
    set @ii=3.32432432
    print @ii结果:总结它四舍五入保留两位数
    3.32
      

  9.   

    那么这个结果是否与Money型小数点后保留4位相违背?我现在遇到的就是这个问题~
    前段展现和数据库中查询结果都是小数点后保留2位,为什么MSDN中清晰描述是保留小数点后4位?
      

  10.   

    跟产品工程师沟通了很久,怀疑是windows2003服务器的语言环境设置有问题,正在测试中