SELECT
x.a,
x.b,
x.c,
x.d,
x.e,
x.f,
x.g
FROM
mytable d,
XMLTABLE(
'/root'
PASSING XMLTYPE(d.content)
COLUMNS
a VARCHAR2(100) PATH 'a',
b VARCHAR2(100) PATH 'b',
c VARCHAR2(100) PATH 'c',
d VARCHAR2(100) PATH 'd',
e VARCHAR2(100) PATH 'e',
f VARCHAR2(100) PATH 'f',
g VARCHAR2(100) PATH 'g'
) x
WHERE d.id = xxx
使用XMLTABLE函数需要的字段类型必须是XMLTYPE,我的content字段是使用的CLOB类型,所以我得转换为XMLTYPE类型。
XMLTABLE: 此函数将 XML 内容映射到一个关系表。可以指定要解析的 XML 路径和要返回的列。PATH: 这里的路径指定了 XML 中的元素位置。每个列都对应 XML 中的一个字段。VARCHAR2: 根据需要选择适当的大小。

3396

被折叠的 条评论
为什么被折叠?



