XMLTEXT 标量函数

XMLTEXT 函数将返回具有单个 XQuery 文本节点的 XML 值,该文本节点将输入自变量作为内容。

Read syntax diagramSkip visual syntax diagramXMLTEXT(string-expression )

该模式是 SYSIBM。 不能将函数名指定为限定名。

string-expression
其值为字符串类型 CHAR、VARCHAR 或 CLOB 的表达式。

结果的数据类型为 XML。 如果 string-expression 的结果可为空,那么结果可为空;如果输入值为空,那么结果为空。 如果 string-expression 的结果为空字符串,那么结果值为空文本节点。

示例

  • 示例 1:创建简单 XMLTEXT 查询。
       VALUES(
         XMLTEXT(
           'The stock symbol for Johnson&Johnson is JNJ.'
         )
       )
    此查询将生成以下序列化结果:
    1
    ---------------------------------------------------
    The stock symbol for Johnson&Johnson is JNJ.
    注意,文本节点经过序列化后,“&”符号将映射至“&”。
  • 示例 2:将 XMLTEXT 与 XMLAGG 配合使用以构造混合内容。 假定表 T 的内容如下所示:
    seqno  plaintext
                                                      emphtext
    ------ -----------------------------------------------------------
    -------------
    1      This query shows how to construct                         
     mixed content
    2       using XMLAGG and XMLTEXT. Without                        
     XMLTEXT
    3      XMLAGG will not have text nodes to group with other nodes,
     mixed content
           therefore, cannot generate
       SELECT
    XMLELEMENT(
         NAME "para", XMLAGG(
           XMLCONCAT(
             XMLTEXT(
               PLAINTEXT
             ),
             XMLELEMENT(
               NAME "emphasis", EMPHTEXT
             )
           )
           ORDER BY SEQNO
         ), '.'
       ) AS "result"
       FROM T
    此查询将生成以下结果:
    result
    -------------------------------------------------------------------------------
    <para>This query shows how to construct <emphasis>mixed content</emphasis>
    using XMLAGG and XMLTEXT. Without <emphasis>XMLTEXT</emphasis>
    , XMLAGG
    will not have text nodes to group with other nodes, therefore, cannot
    generate
    <emphasis>mixed content</emphasis>.</para>