SQL MIN()函数不能处理bigint值

SQL MIN()函数不能处理bigint值,sql,aggregate,min,Sql,Aggregate,Min,我试图从一系列值中获取最小值,但似乎min()不能正确地用于bigint值 例:442227741/4278215881 如果我尝试使用这两个值函数返回4278215881的最小值。似乎忽略了bigint值的最后一位&比较。然后是442227741&427821588,返回的最小值为4278215881 如何解决此问题?看起来您正在将值存储为字符串,但您需要一个数字最小值。一种方法是转换为十进制: select min(cast(col as decimal(20, 0))) 您使用的是哪种数

我试图从一系列值中获取最小值,但似乎min()不能正确地用于bigint值

例:442227741/4278215881

如果我尝试使用这两个值函数返回4278215881的最小值。似乎忽略了bigint值的最后一位&比较。然后是442227741&427821588,返回的最小值为4278215881


如何解决此问题?

看起来您正在将值存储为字符串,但您需要一个数字最小值。一种方法是转换为十进制:

select min(cast(col as decimal(20, 0)))

您使用的是哪种数据库管理系统?(当然MIN()需要处理bigint…)该列真的是一个
bigint
吗?还是你把数据模型搞砸了,把数字存储在
varchar
列中了?实际上这就像一个临时表&在varchar列中存储值。我已经解决了我的问题。谢谢你的帮助。