XML 节点解析函数MySelf 学习

来源:互联网 发布:bugku sql注入1 编辑:程序博客网 时间:2024/06/05 18:28

-----------------[1] 指定节点 注:超过了就没有数据 但是0 表示展示所有节点

Select  

              Extractvalue(b.Column_Value, '/record/event_type') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/record[1]'))) b

Where a.项目id In ('EC3E41BF-BACD-46BA-9D3C-E2493D73C1DF', '11D1349A-206E-4864-8FEA-C6C7AAE8F71E')

And A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

----------------- last()  或 last()-n 节点最后一个 注:超过了就没有数据

Select  

              Extractvalue(b.Column_Value, '/record/event_type') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/record[last()-2]'))) b

Where a.项目id In ('EC3E41BF-BACD-46BA-9D3C-E2493D73C1DF', '11D1349A-206E-4864-8FEA-C6C7AAE8F71E')

And A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

---------------- [position()<3]

Select  

              Extractvalue(b.Column_Value, '/record/event_type') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/record[position()<=3]'))) b

Where  A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

-------★★★★谓语    child::book --★★★★---------------------------------------

Select  

              Extractvalue(b.Column_Value, '/record/event_type') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/child::record'))) b

Where  A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

-------★★★★谓语     child::* --★★★★---------------------------------------  child::text()

Select  

              Extractvalue(b.Column_Value, '/record/event_type') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/child::*=record'))) b

Where  A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

-------★★★★  child::text()--★★★★---------------------------------------  

Select  

              Extractvalue(b.Column_Value, '/record/doctor/child::text()') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/record'))) b

Where  A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'

-------★★★★  descendant::record 所有后代--★★★★-descendant::record 所有先辈--------------------------------------  

Select    /*+CHOOSE*/

              Extractvalue(b.Column_Value, '/record/event_type/child::text()') As 标志

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/descendant::record'))) b

Where  A.id='010CA6A8-5960-4B84-AA5B-B878F4E4D170'   

-------★★★★  --★★★★---------------------------------------  

Select 

             Xmlquery('for $p in /record/event_type return fn:translate($p,"护理","狐狸")' 

                               Passing b.Column_Value Returning Content).Getstringval() As 类型

From 服务活动记录 a, Table(Xmlsequence(Extract(a.附加信息, '/root/record'))) b

Where a.Id = '010CA6A8-5960-4B84-AA5B-B878F4E4D170'

原创粉丝点击