Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A CLOB
该问题是Oracle不同版本中的返回值类型不同造成的。
该函数在Oracle 11.2.0.1.0版本中返回类型为字符串类型;而在Oracle 11.2.0.4.0版本中返回类型为clob类型;
在sql语句中,只需要在最外层把查询结果用to_char()函数转换一下即可,示例如下:
select to_char(r.roleids) as roleids, to_char(r.roledescs) as roledescs from t_um_user u left join (select r1.userid, WMSYS.WM_CONCAT(r1.roleid) as roleids, WMSYS.WM_CONCAT(r2.roledesc) as roledescs from t_um_r_user_role r1, t_um_role r2 where r1.roleid = r2.roleid group by r1.userid) r on u.userid = r.userid where u.userid > 0