DB2XMLCAST规范

DB2XMLCAST规范,db2,db2-400,Db2,Db2 400,选择xmlcast('1232345'作为XML) 此查询返回 <case_id;gt;123</case_id <checknumb>2345</checknumb 如何获得 123您的代码试图将字符串文本'1232345'转换为XML字符串,而不是XML文档。XML字符串中不能包含尖括号,因为这些符号对XML解析器具有特殊意义,因此尖括号将转换为实体 如果您真正想要的是将文本'1232345'转换为XML文档,则需要先将

选择xmlcast('1232345'作为XML)

此查询返回

<case_id;gt;123</case_id
<checknumb>2345</checknumb
如何获得
123您的代码试图将字符串文本
'1232345'
转换为XML字符串,而不是XML文档。XML字符串中不能包含尖括号,因为这些符号对XML解析器具有特殊意义,因此尖括号将转换为实体


如果您真正想要的是将文本
'1232345'
转换为XML文档,则需要先将其转换为有效的XML文档(通过添加根元素),然后使用
XMLPARSE(文档'1232345')

如果需要生成
XML序列
,则应使用标量函数,并且不要尝试将字符串常量强制转换为XML类型

VALUES XMLCONCAT(XMLELEMENT(NAME "case_id", 123), XMLELEMENT(NAME "checknumb", 2345));

如果需要生成
XML文档
,则应使用以下内容:

VALUES XMLELEMENT(NAME "doc", XMLCONCAT(XMLELEMENT(NAME "case_id", 123), XMLELEMENT(NAME "checknumb", 2345)));