【发布时间】:2015-06-17 21:33:21
【问题描述】:
请原谅我完全是初学者。
我正在查看一个名为FORM_XML 的列,它被描述为数据类型XMLTYPE。
一个字段的内容是:
<Form FormID="0" Name="Preventive Care(F)">
<FormObject Name="prevcare01" Type="DateTime" Label="Physical Exam" EditValue="04/05/2007" />
<FormObject Name="prevcare02" Type="DateTime" Label="Lipid Profile" EditValue="NoEditValue" />
<FormObject Name="prevcare03" Type="DateTime" Label="Health Care Proxy review" EditValue="NoEditValue" />
<FormObject Name="prevcarecomm" Type="Text" Label="Comments" EditValue="NoEditValue" />
</Form>
目标是提取EditValue 日期,其中Label="Physical exam"。在这个例子中,日期04/05/2007 是我想要提取的。有没有一个神奇的查询可以做到这一点?
现有问题没有帮助,因为它们的 XML 数据结构不同。我的 XML 数据结构是否错误,因为它不包含命名空间和特定标签?
后续问题: 我跑了
SELECT Extract(form_xml, '/Form/FormObject/@EditValue') FROM patient_form;
并将所有FormObjects 的EditValue 连接在一起。是否可以只过滤掉EditValue 所在的Label="Physical exam"?
【问题讨论】: