You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft SQL Server中MIN和MAX函数结果异常问题求助

问题原因及解决方法

你的问题核心是compression_ratio字段的类型错误:该字段应该是字符串类型(如varchar/nvarchar),而非数值类型(float/decimal等)。

SQL Server对字符串执行MIN/MAX函数时,会按字符的ASCII码顺序排序,而非数值大小。比如字符串"10"的首字符'1'的ASCII码小于'9',所以会被判定为比"9.6"更小的值,最终出现MIN返回10、MAX返回9.6这种不符合数值逻辑的结果。

解决方法

计算MIN/MAX前,先将字段转换为数值类型:

SELECT 
    MIN(CAST(compression_ratio AS DECIMAL(10,2))) AS minimum_cr,
    MAX(CAST(compression_ratio AS DECIMAL(10,2))) AS maximum_cr
FROM dbo.C4m3practice 

如果字段中存在无法转换为数值的无效内容,使用TRY_CAST避免报错(无效值会被视为NULL,不参与计算):

SELECT 
    MIN(TRY_CAST(compression_ratio AS DECIMAL(10,2))) AS minimum_cr,
    MAX(TRY_CAST(compression_ratio AS DECIMAL(10,2))) AS maximum_cr
FROM dbo.C4m3practice 

内容的提问来源于stack exchange,提问作者KronikusGladnikus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:04:54