MAX在t-SQL中对INT和VARCHAR数据类型的作用

时间:2012-07-18 07:22:27

标签: sql tsql max

昨天早上,我的经理给了我一个新的数据库,我必须写几个SQL存储过程。有一个列MM用于数值,所以我理解Sql Function MAX将对它起作用。但事实并非如此。

这是一个varchar列,其中包含从1到41随机存储的数值。我假设我的SQL语句:“SELECT MAX(MMS)FROM tbl”将给出41作为结果但它的结果为9。

后来我在使用字符串数据类型时投入了MAX,从列中取出第一个数字,然后将MAX输出。

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:4)

从这里开始:

http://msdn.microsoft.com/en-uk/library/ms187751.aspx

  

对于字符列,MAX在整理中找到最高值   序列

如果要以数字方式对列的内容进行排序,可以执行以下操作:

ORDER BY len(mms), mms