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
基本就是這樣了,小編細心幫大家整理了一下代碼格式,希望能幫到大家。