一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle 中XML處理函數介紹

Oracle 中XML處理函數介紹

2019-12-27 13:45秦風 Oracle

本文主要介紹Oracle中XML函數的基本使用方法,希望對大家有所幫助。

1. EXTRACT(XMLType_instance,Xpath_string)

該函數用于返回XML節點路徑下的相應內容

示例:

 

復制代碼代碼如下:
SELECT extract(value(a),'/root/main') data FROM xmltable a ;

 

2. EXTRACTVALUE(XMLType_instance,Xpath_string)

該函數用于返回特定XML節點路徑的數據

示例:

 

復制代碼代碼如下:
SELECT extractvalue(value(a),'/root/main/姓名') data FROM xmltable a ;

 

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文檔。

示例:

 

復制代碼代碼如下:
SELECT SYS_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. XMLAGG(XMLType_instance[ORDER BY sort_list])

該函數用于匯總多個XML塊,并生成XML文檔。

示例:

 

復制代碼代碼如下:
select xmlagg(xmlelement("row",xmlforest(a.frequency_id as "頻次ID", a.frequency_name as "頻次名稱")))[]
from med_frequencydict a

 

8. XMLFOREST(value_expr1[,value_expr2],...)

該函數用于返回XML塊

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

該函數用于返回XMLType的實例。其中參數identifier用于指定元素名,參數xml_attribute_clause用于指定元素屬性子句,參數value_expr用于指定元素值。

示例:

 

復制代碼代碼如下:
SELECT xmlelement("row",xmlcolattval(a.frequency_code AS "編碼",a.frequency_name as "名稱")) xml
from med_frequencydict a
where a.frequency_code = 'BID'

 

 

10. XMLCOLATTVAL(value_expr[,value_expr2],...)

該函數用于生成XML塊,參數value_expr用于指定列名或者別名作為屬性名。

示例: 

 

復制代碼代碼如下:
SELECT xmlelement("row",xmlcolattval(a.frequency_code AS "編碼", a.frequency_name as "名稱")) xml
from med_frequencydict a 
where a.frequency_code = 'BID'

 

11. XMLCONCAT(XMLType_instance1[,XMLType_instance2],...)

該函數用于連接多個XMLType實例,并生成新的XMLType實例。

示例:

 

復制代碼代碼如下:
select xmlconcat(xmltype('1'), xmltype('2'), xmltype('3'))
from dual

 

 

12. XMLSEQUENCE(xmltype_instance)

該函數用于返回XMLType實例中頂級節點以下的VARRAY元素。

示例:

 

復制代碼代碼如下:
select extractvalue(column_value, '/row/醫囑內容') 醫囑內容
    from table(xmlsequence(extract((select value(a)
    from xmltable a
    where rownum = 1),
'/root/detail/row')))

 

 

13. UPDATEXML(XMLType_instance,Xpath_string,value_expr)

該函數用于更新特定XMLType實例相應的節點路徑的內容

示例:

 

復制代碼代碼如下:
select updatexml(xmltype('1名字12名字2'), '/root/row[no=2]/name', '新名字')
from dual

 

14. XMLTRANSFORM(xmltype_instance,xsl_ss)

該函數用于將XMLType實例按照XSL樣式進行轉換,并生成新的XMLType實例

15. DELETEXML(XMLType_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

 

基本就是這樣了,小編細心幫大家整理了一下代碼格式,希望能幫到大家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩综合网在线观看 | 2019理论韩国理论中文 | caoporm碰最新免费公开视频 | 国产欧美日韩在线不卡第一页 | 日本理论片中文在线观看2828 | 91国产在线播放 | 小舞同人18av黄漫网站 | 91混血大战上海双胞胎 | 久久九九有精品国产23百花影院 | 欧美一级高清片 | 久久电影午夜 | 青草欧美 | 精品国产乱码久久久久久人妻 | 国产第一综合另类色区奇米 | 国产午夜亚洲精品一区网站 | 欧美精品久久一区二区三区 | 大象传媒2021秘密入口 | 女老板用丝袜脚夹我好爽 | 99视频在线看 | 午夜福利体验免费体验区 | 免费一级片在线 | 国产精品国产高清国产专区 | jk制服喷水 | 91精品国产综合久 | 激情亚洲 | 久久电影院久久国产 | 国产精品一区二区三区免费视频 | 国产精品欧美韩国日本久久 | 奇米影视中文字幕 | 无码AV精品一区二区三区 | 岛国免费大片 | 欧美视频免费 | 成功精品影院 | 手机看片国产免费久久网 | 无码区国产区在线播放 | 99久久er这里只有精品17 | 调教女高中生第3部分 | 香港成人社区 | 青草青视频 | 免费在线观看网址入口 | 免费标准高清看机机桶机机 |