select sum(dbo.func_test(1,-1)),sum(dbo.func_test(1,1)) from temp 
结果为:-1     -1
确实不正常.

解决方案 »

  1.   

    郁闷,换了一台电脑的SQL SERVER是正常的……
      

  2.   

    select dbo.func_test(a,-1),dbo.func_test(a,1) from temp 
    /*
    -------------------- -------------------- 
    -1                   1(所影响的行数为 1 行)
    */select dbo.func_test(a,1),dbo.func_test(a,-1) from temp 
    /*
    -------------------- -------------------- 
    1                    -1(所影响的行数为 1 行)
    */
      

  3.   

    我的机器测试有问题.把sum去了没问题.
      

  4.   

    依次执行:
    select sum(dbo.func_test(1,1)) from temp
    结果为:1 (正常。)
    select sum(dbo.func_test(1,-1)) from temp
    结果为:-1 (正常。)
    select sum(dbo.func_test(1,1)),sum(dbo.func_test(-1,-1)) from temp
    结果为:1     -1 (正常。)
    但:
    select sum(dbo.func_test(1,1)),sum(dbo.func_test(1,-1)) from temp
    结果为:1     -1 (正常。)
      

  5.   

    貌似没有问题,
    xp2 +sql 2005
      

  6.   

    在Vista + SQL 2005 standard Edition下测试,结果正常
      

  7.   

    郁闷,发现原因是SQL SERVER没有装SP4,而是SP2……
    谢谢大家了。