簡體   English   中英

如何在 Oracle 中將 CLOB 轉換為 CHAR 數據類型?

[英]How to convert CLOB to CHAR datatype in Oracle?

對於 ETL 目的,我需要將數據庫記錄轉換為平面文件。 為此,我必須將所有記錄轉換為 CHAR。 在那個表中,它有幾個 CLOB 數據類型的列。 所以,我嘗試了以下功能:

DBMS.LOBS_SUBSTR(column_name, Length(column_name))

錯誤:ORA-06502 Pl/sql:數值錯誤:字符串緩沖區太小 ORA-06512:在第 1 行 06502. 00000 - “PL/SQL:數值或值錯誤 ℅s”

您可以使用DBMS_LOB.substr()

select DBMS_LOB.substr(col, 4000) from table;

此外,從docs ,限制如下:

對於固定寬度的 n 字節 CLOB,如果 SUBSTR 的輸入量大於 (32767/n),則 SUBSTR 返回長度為 (32767/n) 的字符緩沖區,或 CLOB 的長度,以較小者為准。 對於可變寬度字符集中的 CLOB,n 是用於 CLOB 中字符的最大字節寬度

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM