Oracle SQL LISTAGG 函數和 ORA-01489 錯誤
LISTAGG
函數對於在 Oracle SQL Developer 中連接字串很有用,可能會產生「ORA-01489:字串連線結果太長」錯誤。此限制源自於 LISTAGG
的輸出被限制為最多 4000 個字元。
使用 XMLAGG 的解
要克服 4000 個字元的限制,請使用 XMLAGG
函數作為更靈活的替代方案:
<code class="language-sql">SELECT RTRIM(XMLAGG(XMLELEMENT(E, colname, ',').EXTRACT('//text()') ORDER BY colname).GetClobVal(), ',') AS LIST FROM tablename;</code>
XMLAGG
傳回 CLOB 資料類型,能夠處理明顯較大的字串長度,從而消除 ORA-01489
錯誤。 這種方法有效地聚合了廣泛的資料集,而不受 LISTAGG
.
以上是在 Oracle SQL 中使用 LISTAGG 時如何克服 ORA-01489 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!