在oracle中CLOB到varchar2的转换

时间:2012-10-19 07:22:18

标签: oracle10g type-conversion

我需要在varchar2中获取以下查询的结果才能在视图中显示。我尝试使用dbms_lob.substr如下,但它给了我错误“ORA-22922:不存在的LOB值”。

  

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

select查询在CLOB中返回结果。

2 个答案:

答案 0 :(得分:1)

WM_CONCAT会返回VARCHAR2,而非CLOB。因此,您可以移除对DBMS_LOB.SUBSTR的调用。

答案 1 :(得分:0)

如果您可以升级到11.2或更高版本,则listagg(...)功能可以按照此处所述保存您的一天:https://stackoverflow.com/a/39325808/1915920