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]);

   

参考资料:

Oracle XMLTYPE数据类型创建及插入

 

posted on 2019-09-20 14:27  iUpoint  阅读(991)  评论(0编辑  收藏  举报

导航