打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ORACLE中 XML 基本函数介绍

ORACLE 中 XML 基本函数介绍

 

 

1.EXTRACT(XMLType_instance,Xpath_string)

该函数用于返回XML节点路径下的相应内容

 

示例: SELECT extract(prj_xml,'/root/main') FROM project t;

 

 

2. EXTRACTVALUEXMLType_instance,Xpath_string)

该函数用于返回特定XML节点路径的数据

 

 

示例: SELECT extractvalue(  prj_xml ,'/root/main/姓名') FROM project  t ;

 

3. EXISTSNODE(XMLType_instance,Xpath_string)

该函数用于确定特定的XML节点的路径是否存在,返回0表示节点不存在,返回1表示节点存在。

 

示例: SELECT existsnode(value(a),'/root/main/住院号') data FROM xmltable a;

 

 

 

4. SYS_DBURIGEN({column|attribute})

 

该函数用于根据列或者属性生成类型为DBUrlType的URL

 

示例: SELECT sys_dburigen(a.DISPLAYNAME) aa FROM v_dept a WHERE a.DISPLAYNAME='矽肺病医院'

 

 

 

5.SYS_XMLAGG(expr[,fmt])

 

该函数用于汇总所有XML文档,并生成一个XML文档。

 

示例: SELECTSYS_XMLAGG(SYS_XMLGEN(a.order_content)) xml_content

  from doc_clinic_order a, clinics_item b, med_frequencydict c

 where a.patient_id = 'bd4b425e-a409-4b28-890d-d1d668fcf725'

    and a.parentid = '0'

    and a.route = b.item_id(+)

    and a.frequency = c.frequency_id(+)

 

6.SYS_XMLGEN(expr[,fmt])

该函数用于根据数据库表的行和列生成XMLType实例。

 

7.XMLAGGXMLType_instance[ORDER BY sort_list])

该函数用于汇总多个XML块,并生成XML文档。

  示例: select xmlagg(xmlelement("row",

Java代码  
  1.                        xmlforest(a.frequency_id as "频次ID",  
  2.                                  a.frequency_name as "频次名称")))  
  3. from med_frequencydict a  
 

 

8. XMLFORESTvalue_expr1[,value_expr2],...)

该函数用于返回XML块

 

9. XMLELEMENT(identifier[,xml_attribute_clause][,value_expr])

该函数用于返回XMLType的实例。其中参数identifier用于指定元素名,参数xml_attribute_clause用于指定元素属性子句,参数value_expr用于指定元素值。

示例: SELECTxmlelement("row",

                  xmlcolattval(a.frequency_codeAS "编码",

                               a.frequency_nameas "名称")) xml

 from med_frequencydict a

 where a.frequency_code = 'BID'

 

10.XMLCOLATTVALvalue_expr[,value_expr2],...)

该函数用于生成XML块,参数value_expr用于指定列名或者别名作为属性名。

示例: 

Sql代码  
  1.  SELECT xmlelement("row",  
Sql代码  
  1. xmlcolattval(a.frequency_code AS "编码",  
Sql代码  
  1.                               a.frequency_name as "名称")) xml  
  2.  from med_frequencydict a  
  3. where a.frequency_code = 'BID'  

 

 

11.XMLCONCATXMLType_instance1[,XMLType_instance2],...)

该函数用于连接多个XMLType实例,并生成新的XMLType实例。

示例: selectxmlconcat(xmltype('<row><no>1</no></row>'),

                xmltype('<row><no>2</no></row>'),

                xmltype('<row><no>3</no></row>'))

  fromdual

 

12.XMLSEQUENCExmltype_instance)

该函数用于返回XMLType实例中顶级节点以下的VARRAY元素。

示例:select extractvalue(column_value,'/row/医嘱内容') 医嘱内容

 from table(xmlsequence(extract((select value(a)

                                   fromxmltable a

                                  where rownum= 1),

                                '/root/detail/row')))

 

 

13.UPDATEXMLXMLType_instance,Xpath_string,value_expr)

该函数用于更新特定XMLType实例相应的节点路径的内容

示例: selectupdatexml(xmltype('<root><row><no>1</no><name>名字1</name></row><row><no>2</no><name>名字2</name></row></root>'),

                 '/root/row[no=2]/name',

                 '新名字')

 from dual

 

14.XMLTRANSFORMxmltype_instance,xsl_ss)

该函数用于将XMLType实例按照XSL样式进行转换,并生成新的XMLType实例

 

 

15.DELETEXMLXMLType_instance,Xpath_string)

该函数用于删除特定XMLType实例相应的节点路径的内容

 

 

 

16.XML转换表

 

 

 SELECT * FROM XMLTABLE(' $SQ/root/detail/row' PASSING

               (select value(a) from xmltable a) AS SQ

                COLUMNS 医嘱ID VARCHAR2(50) PATH '/row/医嘱ID',

                    医嘱内容 VARCHAR2(200) PATH '/row/医嘱内容',

                    频次 VARCHAR2(200) PATH '/row/频次',

                    用法 VARCHAR2(200) PATH '/row/用法'  )

 order by 医嘱ID

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
最完美的xslt数值函数与字符串函数
jquery的使用简化代码开发
在C#中使用XPath示例
XQuery和XPath的区别|极客教程
(1)oracle中XMLType类型的使用
python3解析库lxml 详细用法示例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服