标题oracle 行转列,列转行方法汇总
方法1: TO_CHAR(WMSYS.WM_CONCAT(字段)) 别名
问题1: ORA-22922: 不存在的 LOB 值 处理方法
**原因:**出现这个错误很多时候是使用了wmsys.wm_concat的同时使用了group ,distinct 或者union,本来两者没有问题,问题在于:1.Oracle Database 10g Enterprise Edition Release 10.2.0.5.0以后的版本wmsys.wm_concat查询出的是LOB类型;2.oralce的SQL语句中若查询了LOB字段是不能使用distinct,union,和group by等关键字的。
解决方法: 1.将 to_char(wm_concat(字段)) as 别名,改成 wm_concat( to_char (字段) ) as 别名
2.将 to_char(wmsys.wm_concat(字段)) 别名 改成 listagg(字段, ‘,’) within group (order by 字段) 别名