为什么
SELECT 1 FROM dual where extractvalue(xmltype('<A>1</A>'),'A') IS not NULL
返回1
但
SELECT count(*)
FROM dual
WHERE EXISTS
(
SELECT 1 FROM dual where extractvalue(xmltype('<A>1</A>'),'A') IS not NULL
);
返回0?
编辑:通过用extract替换extractvalue,我得到1 ......
答案 0 :(得分:1)
extractvalue
已弃用
你可以试试这个:
SELECT count(*)
FROM (select '<A>1</A>' as data from dual),xmltable('A' passing xmltype(data) columns result varchar2(1028) path '.')
WHERE
result is not null;