当前位置:  开发笔记 > 编程语言 > 正文

SUM的数据类型导致MySQL

如何解决《SUM的数据类型导致MySQL》经验,为你挑选了1个好方法。

使用SUM时,我将MySQL查询的结果转换为Java类时遇到了一些问题.

在MySQL中执行简单的SUM时

SELECT SUM(price) FROM cakes WHERE ingredient = 'chocolate';

price为整数,它看来,SUM有时返回字符串和有时的整数,取决于JDBC驱动程序的版本.

显然,服务器确实告诉JDBC驱动程序结果SUM是字符串,JDBC驱动程序有时"方便地"将其转换为整数.(见Marc Matthews的解释).

Java代码使用一些BeanInfo和Introspection来自动填充查询结果的bean(列表).但是,如果部署应用程序的服务器之间的数据类型不同,这显然不起作用.

我不在乎我得到一个字符串或整数,但我想总是拥有相同的数据类型,或者至少事先知道我将获得哪种数据类型.

有没有办法知道MySQL SUM将从Java代码中返回哪种数据类型?或者有没有人知道一些更好的方法来处理这个?



1> Vinko Vrsalo..:

这只是一个猜测,但也许转换为整数将迫使MySQL总是告诉它是一个整数.

SELECT CAST(SUM(price) AS SIGNED) FROM cakes WHERE ingredient = 'marshmallows';


棉花糖怎么了?
我喜欢用棉花糖做的蛋糕
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有