標籤:oracle wm_concat
不同版本的資料庫直接此函數傳回型別不一致導致程式映射錯誤:
1. 錯誤資訊:
Cause: java.sql.SQLSyntaxErrorException: ORA-01790: 運算式必須具有與對應運算式相同的資料類型
2.不同版本直接進行比較
2.1 10g測試如下
SELECT*FROM V$VERSION;
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6D/13/wKioL1VcGKrSPclfAACjw7S-k1I581.jpg" style="float:none;" title="10g_1.png" alt="wKioL1VcGKrSPclfAACjw7S-k1I581.jpg" />
SELECT WM_CONCAT(T.DNAME) FROM DEPT T
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6D/19/wKiom1VcFzDhwhULAAAtARKkBI0137.jpg" style="float:none;" title="10g_2.png" alt="wKiom1VcFzDhwhULAAAtARKkBI0137.jpg" />
2.2 11g測試如下:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6D/13/wKioL1VcGKqAFZPeAACqn9TMmcc405.jpg" style="float:none;" title="11g_1.jpg" alt="wKioL1VcGKqAFZPeAACqn9TMmcc405.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6D/19/wKiom1VcFzDi1Zi7AAAZ2hiNSOI738.jpg" style="float:none;" title="11g_2.png" alt="wKiom1VcFzDi1Zi7AAAZ2hiNSOI738.jpg" />
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;
本文出自 “我的技術部落格” 部落格,請務必保留此出處http://programmer.blog.51cto.com/2859493/1653114
Oracle函數之單列合并函數WM_CONCAT問題記錄