CLOB为VARCHAR2在Oracle转换(CLOB to varchar2 conversion

2019-09-24 07:15发布

我需要在VARCHAR2下面的查询在视图中显示的结果。 我试过如下使用dbms_lob.substr但随后它给了我错误“ORA-22922:不存在LOB值”。

dbms_lob.substr((选择从NEXUS_TRAC_TRAVEL_PLAN_DTL其中nexus_year = trdata.nexus_year和nexus_seq_no = trdata.nexus_seq_no),4000,1 wm_concat(tr_country)),

选择查询的CLOB返回结果。

Answer 1:

WM_CONCAT返回一个VARCHAR2 ,而不是一个CLOB 。 所以,你可以删除该调用DBMS_LOB.SUBSTR



Answer 2:

如果你可以升级到11.2或更高listagg(...)功能可以节约你的时间如下所述: https://stackoverflow.com/a/39325808/1915920



文章来源: CLOB to varchar2 conversion in oracle