Sql 如何使用Oracle获取表中XML空标记的虚拟值?
b、 xmlTagColumn具有xml内容。Sql 如何使用Oracle获取表中XML空标记的虚拟值?,sql,xml,oracle,Sql,Xml,Oracle,b、 xmlTagColumn具有xml内容。 若b.xmlTagColumn有,那个么我并没有从上面的语句中得到任何东西,甚至不为null。如何为空标记获取null或伪值 左连接。。。on 1=1 演示 请为database+VersionContring添加一个标签,以便通过了解这一点,但在调用'XMLTYPE'时获取ORA-06553:PLS-306:错误的参数数量或类型。我将在几分钟后添加一个小演示 select a.test from demotable b ,XMLT
若b.xmlTagColumn有
,那个么我并没有从上面的语句中得到任何东西,甚至不为null。如何为空标记获取null或伪值 左连接。。。on 1=1
演示
请为database+VersionContring添加一个标签,以便通过了解这一点,但在调用'XMLTYPE'时获取ORA-06553:PLS-306:错误的参数数量或类型。我将在几分钟后添加一个小演示
select a.test
from demotable b
,XMLTable('//test' passing xmltype(b.xmlTagColumn) columns test varchar(10) path '.') a
select a.test
from demotable b
left join XMLTable
(
'//test'
passing xmltype(b.xmlTagColumn)
columns
test varchar(10) path '.'
) a
on 1=1
;
create table demotable (id int,xmlTagColumn varchar2(100));
insert into demotable (id,xmlTagColumn) values (1,'<X><test>123</test></X>');
insert into demotable (id,xmlTagColumn) values (2,'<Y><test>456</test></Y>');
insert into demotable (id,xmlTagColumn) values (3,'<Z><prod>123</prod></Z>');
select b.id
,a.test
from demotable b
left join XMLTable
(
'//test'
passing xmltype(b.xmlTagColumn)
columns
test varchar(10) path '.'
) a
on 1=1
;
+----+--------+
| ID | TEST |
+----+--------+
| 1 | 123 |
+----+--------+
| 2 | 456 |
+----+--------+
| 3 | (null) |
+----+--------+