TSQL min函数中的奇怪行为

时间:2015-02-04 13:21:49

标签: sql-server

我有一张桌子:

ID      Code
647     1026836
248289  1026836
250080  1026836

我试着获得id的最小值:

 SELECT  min(rtrim(id))  ,   
            Code
    FROM     [XXX] 
  where  Code = '1026836'
    GROUP   BY Code

结果:

ID      Code
248289  1026836

为什么呢?它应该给:

ID  Code
647 1026836

2 个答案:

答案 0 :(得分:2)

检查您的数据类型!它可能在非数值数据类型上执行min()。您不需要修剪数字数据类型。

答案 1 :(得分:1)

没关系:

  min(cast(id as bigint))

做了诀窍,因为id是nvarchar