在做系统迁移的时候,重构数据层,sql里面有用到oracle 的wm_concat函数,在使用mybatis的时候报错,
ORA-22922: 不存在的 LOB 值
解决方法:
原来的sql片段,to_char在外面,wm_concat在里面
to_char(wm_concat(RTRIM(BEGIN_NO) || '-' || RTRIM(END_NO))) as nos
改成 wm_concat在外面,to_char在里面,同时在上面的select字段用to_char包一层。
wm_concat(to_char(RTRIM(BEGIN_NO) || '-' || RTRIM(END_NO))) as nos
, to_char(g.nos) nos
重启后,解决问题。
在系统迁移过程中,遇到Oracle的WM_CONCAT函数与MyBatis不兼容的问题,导致ORA-22922错误。通过调整SQL语句结构,将to_char函数移到WM_CONCAT外,并在所有字段上使用to_char,成功解决了这一问题。
5万+

被折叠的 条评论
为什么被折叠?



