1 问题出现:
由于在sql需要将多行转为一行,便使用了聚合函数wmsys.wm_concat(),但开始在数据库执行时返回到页面
的都是varchar类型的字符串,后来数据库迁移发现执行sql返回的是CLOB类型,而且通过
javax.persistence.EntityManager.createNativeQuery(Sql) 查询出的数据是Clob的代理$Proxy。问
谷哥说是11g后返回的类型会不同,通过DBA确认两个数据库的版本分别为10.2.0.1和10.2.0.5,无法确认问
题所在。
2 问题初解:
其他的字符串拼接聚合方法感觉太过繁琐,且有可能出现版本问题,不得已采用遍历循环,在每条结果中再插
入查询的所需值,但总感觉有疙瘩。
3 问题补充:
中间还试过在外面包层to_char函数,to_char(wmsys.wm_concat(...)),在数据库中执行正常,但在代码中执行
时后台报错:ORA-22922: nonexistent LOB value