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 中国語 Web サイトの他の関連記事を参照してください。