2014-09-06 111 views
0

我可以使用下面的SQLDB2如何更换通过XML元素

*SELECT XMLQUERY('$item/*:ItemSpec/*:AdditionalDescription/*:ABCDescription/text()' PASSING productval.value_xml as "item") AS H_DESCRIPTION FROM USER1.XMETA* 

这将返回一个包含双引号(“)中的值成功地检索XML元素的值返回一个双引号它。我如何在同一个选择查询不同的值替换它。我想这样的事情,但它没有工作

Select REPLACE(XMLQUERY('$item/*:ItemSpec/*:AdditionalDescription/*:ABCDescription/text()' PASSING productval.value_xml as "item"),'"','QUOT') AS H_DESCRIPTION 

的错误是没有授权的程序命名为“替换”类型的“FUNCTION”找到兼容的参数... SQLCODE = -440,SQLSTATE == - 42884。

回答

0

XMLQUERY returnes XML类型,尝试铸造其应用于替换之前为varchar:

REPLACE(XMLCAST(XMLQUERY('$item/*:ItemSpec/*:Addition ...) AS VARCHAR(...)), '"','QUOT') AS .. 
+0

感谢伦纳特。将它投射到Varchar为我工作。 – Mohan 2014-09-07 12:02:20