java.lang.clob_java.lang.ClassCastException: weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB cannot be ca...

最近开发中遇到个问题,在开发自身环境下是没问题的,但是在测试库中报错:java.lang.ClassCastException: weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB cannot be cast to java.lang.String,经过定位是由于某个字段的sql查询语句不对,但是在开发库中是没问题的,那么自然就会想到是数据库的差异了,利用SELECT * FROM v$version;在开发和测试库分别查询后发现,开发库是10g而测试库是11g,经查得知,原来是因为,在10.2.0.4.0(不包括)之后的WMSYS.WM_CONCAT查询出来的是CLOB类型的,因此需要进行to_char再进行distinct,order by,union等等其他操作,或者是换个方法:concatstr()和WM_CONCAT()方法是一样的效果。

以下列出查询例子以供理解

SELECT replace(concatstr(t.c_membercode||':'||t.c_membername),',',';') FROM tothermember T;

7576d166f06251aa29ebefaeca62c1cd.png

SELECT replace(wm_concat(t.c_membercode||':'||t.c_membername),',',';') FROM tothermember T;

f85891e1142397cf48c1d64dde719b56.png

SELECT replace(to_char(wm_concat(t.c_membercode||':'||t.c_membername)),',',';') FROM tothermember T;

e37c538c48e804157a7c2b99fc4556c9.png

简单介绍一下:wm_concat函数:简单理解就是:将列转为行。此处要做的一个功能就是:查表做数据字典。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值