首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字段上的聚合返回org.hibernate.exception.DataException:无法在Hibernate中执行查询

问字段上的聚合返回org.hibernate.exception.DataException:无法在Hibernate中执行查询
EN

Stack Overflow用户
提问于 2014-03-07 12:36:31
回答 1查看 322关注 0票数 0

我在mysql数据库中的表中有一个类型为- SMALLINT(5)的字段。

当我尝试使用投影对字段执行聚合操作(sum())时,我会得到以下异常

代码语言:javascript
复制
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: 
'8.0042892E7' in column '1' is outside valid range for the datatype SMALLINT.

我把它理解为“聚合操作结果以存储它的相同的数据类型返回”。iS我的假设是正确的。

如果是,我是否可以将返回值转换为长值或字符串?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-07 13:07:31

实际上,您的假设是正确的,即聚合操作结果返回与存储属性相同的数据类型。当然,这就是为什么您会看到错误消息“有效范围外”:SMALLINT在-32768到32767之间签名,或者0和65535之间没有签名。对于这种数据类型,8.0042892E7要大得多。

但是,可以将结果转换为INT:

代码语言:javascript
复制
CAST(SUM(whatever) as INT) 

对于INT,有符号整数的范围为-2147483648,2147483647,无符号整数为0,4294967295。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22250295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档