为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】:8 【操作系统】:linux 【CPU】: 【问题描述】*:sql中使用了COALESCE函数后,java代码执行sql报错java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer,去掉COALESCE函数后正常,数据库管理工具中sql使用COALESCE正常执行
你这个报错是java代码里面处理返回列的时候使用类型不合适导致的,没看到你的sql语句如何使用,COALESCE函数使用后返回类型受到他的两个选择值的同时影响: 例如第一个int类型的ID列,以下返回可以是int类型,也可以是varchar类型,取决于你第二个可选值的类型 解决方法: 保证sql查询返回的类型和你Java里面处理类型一致,可以改sql,也可以改代码。
你这个报错是java代码里面处理返回列的时候使用类型不合适导致的,没看到你的sql语句如何使用,COALESCE函数使用后返回类型受到他的两个选择值的同时影响:

例如第一个int类型的ID列,以下返回可以是int类型,也可以是varchar类型,取决于你第二个可选值的类型
解决方法:
保证sql查询返回的类型和你Java里面处理类型一致,可以改sql,也可以改代码。