clob、nclob是什么
CLOB里存的是2进制,可以存储2G大小的数据。
常用函数:
快速查询sql
查询思路,使用DBMS_LOB.GETLENGTH()函数获取长度,然后使用DBMS_LOB.SUBSTR(col1,n,pos)函数截取获得文本,比直接获取clob字段效率快很多倍
对比一下,发现优化后的语句速度快了很多。
解决方法:通过dbms_lob.substr 函数取出子串,然后通过 || 拼接起来,比如:
select DBMS_LOB.SUBSTR(content,4000,1) ||
DBMS_LOB.SUBSTR(content,4000,4001) ||
DBMS_LOB.SUBSTR(content,4000,8001) ||
DBMS_LOB.SUBSTR(content,4000,12001)
from xxx;
第二种使用 xmlagg拼接
xmlagg(xmlparse(content 内容 || ‘,’ wellformed) order by 字段).getclobval();
如果对字符长度有限制则可以截取
substr(xmlagg(xmlparse(content 内容 || ‘,’ wellformed) order by 字段).getclobval(), 0, 1024);