2

昨天早上,我的经理给了我一个新数据库,我必须在其中编写一些 SQL 存储过程。有一列 MMs 表示数值,所以我知道 Sql Function MAX 可以处理它。但事实并非如此。

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

后来,当与字符串数据类型一起使用时,我投资了 MAX 从列中取出第一个数字字母,然后从中给出 MAX。

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

4

1 回答 1

4

从这里:

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

对于字符列,MAX 查找整理序列中的最大值。

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

ORDER BY len(mms), mms
于 2012-07-18T07:25:42.270 回答