oracle xmltype + blob + clob
oracle varchar2最大存储长度为4000,所以当字段长度超限时可尝试存储为blob或xmltype格式
xmltype
--1、创建xml表 Create TABLE testxml( id NUMBER, data XMLTYPE ); --2、插入数据 --1)创建目录 CREATE or replace DIRECTORY tmpdir AS 'D:\'; --2)使用excel导出xml表,放在D盘下,命名为11.xml --第一种:插入数据 insert into testxml(id,data) values(6,xmltype(bfilename('TMPDIR','11.xml'),nls_charset_id('AL32UTF8'))) --第二种:插入普通值 insert into testxml values (666,sys.xmlType.createXML('<name><a id="1" value="我是内容">abc</a></name>') );
clob 与 varchar 互转
参考资料:dbms_lob中substr,append,write用法
substr(xmlagg(xmlparse(content ct.context || '' wellformed) ORDER BY ct.lineno).getclobval(), 0, 3000) DBMS_LOB.SUBSTR(v_MANDATESCOPE, LENGTH(v_MANDATESCOPE), 1)
select to_clob('asa') from dual;
select dbms_lob.substr( CLOB字段, 10) from dual
blob
select DBMS_XMLQUERY.getXml('select {} as a from dual'.format('...')) from dual;
varchar
insert into testxml values (666, '...'[:1000]);
参考资料: