Oracle函数之单列合并函数WM_CONCAT问题记录

不同版本的数据库直接此函数返回类型不一致导致程序映射错误:

创新互联建站-专业网站定制、快速模板网站建设、高性价比安吉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式安吉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖安吉地区。费用合理售后完善,十年实体公司更值得信赖。

1. 错误信息:

Cause: java.sql.SQLSyntaxErrorException: ORA-01790:表达式必须具有与对应表达式相同的数据类型


2.不同版本直接进行比较

2.1 10g测试如下

SELECT*FROM V$VERSION;

Oracle函数之单列合并函数WM_CONCAT问题记录

SELECT WM_CONCAT(T.DNAME) FROM DEPT T

Oracle函数之单列合并函数WM_CONCAT问题记录

2.2 11g测试如下:

Oracle函数之单列合并函数WM_CONCAT问题记录

Oracle函数之单列合并函数WM_CONCAT问题记录


3.修复方法《使用TO_CHAR函数进行转换》

SELECT TO_CHAR(WM_CONCAT(T.DNAME)) FROM DEPT T;
SELECT TO_CHAR(SUBSTR(WM_CONCAT(T.DNAME),1,2000)) FROM DEPT T;

网页标题:Oracle函数之单列合并函数WM_CONCAT问题记录
新闻来源:http://myzitong.com/article/jjggdi.html