关于聚合函数

时间:2015-07-06 12:14:11

标签: sql sql-server-2005

为什么maxmincount聚合函数在SQL Server 2005中针对数据类型varchar(max)的列使用时,不能提供正确的输出?< / p>

请告诉我的朋友

1 个答案:

答案 0 :(得分:0)

如果您希望最小值或最大值基于存储在VARCHAR(MAX)列中的十进制值,则必须先将此列CAST到DECIMAL。例如:

SELECT
  MIN( CAST(val AS DECIMAL(28,4) ) AS min_val
FROM
  your_table

仅当此VARCHAR列仅包含数值时,此操作才有效。在这种情况下,最好先将此列的类型更改为适当的DECIMAL类型。那么你首先不需要CAST。

在VARCHAR列上选择MIN或MAX将选择lexicographical最小值/最大值,从而将字符串的长度考虑在内。