2014-09-06 45 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