SELECT xmlcolattval(trans_id,price) AS result FROM transactions LIMIT 3;
复制
xmlcolattval
函数语法 | 返回类型 | 描述 |
---|---|---|
xmlcolattval(col1 [,col2…]) |
XML 文本 |
将表中列的值转换为 column attribute 为列名的 XML 文本,然后将该行记录产生的所有 XML 文本相连并返回。 |
参数说明:
-
col1、col2…:指定表的列名,暂不支持字符串等表达式。
使用示例:
返回示例:
+--------------------------------------------------------+ | result | +--------------------------------------------------------+ | <column trans_id="975639131"/><column price="5.3"/> | | <column trans_id="162742112"/><column price="12.21"/> | | <column trans_id="900192386"/><column price="8.64"/> | +--------------------------------------------------------+
复制
xmlelement
函数语法 | 返回类型 | 描述 |
---|---|---|
xmlelement(expr1, expr2) |
XML文本 |
基于指定的表达式生成 XML 文本,格式为 |
参数说明:
-
expr1、expr2:分别指定用户生成 XML 文本的表达式。
使用示例:
SELECT xmlelement('a','b') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+-----------+ | result | +-----------+ | <a>b</a> | +-----------+
复制
xmlforest
函数语法 | 返回类型 | 描述 |
---|---|---|
xmlforest(col1 [,col2…]) |
XML 文本 |
将表中列的值转换为 XML 文本,然后将该行记录产生的所有 XML 文本相连并返回。 |
参数说明:
-
col1、col2…:指定表的列名,暂不支持字符串等表达式。
使用示例:
SELECT xmlforest(trans_id,price) AS result FROM transactions LIMIT 3;
复制
返回示例:
+-----------------------------------------------------+ | result | +-----------------------------------------------------+ | <trans_id>975639131</trans_id><price>5.3</price> | | <trans_id>162742112</trans_id><price>12.21</price> | | <trans_id>900192386</trans_id><price>8.64</price> | +-----------------------------------------------------+
复制
xmlsequence
函数 | 返回类型 | 描述 |
---|---|---|
xmlsequence(expr) |
XML 文本 |
返回 XML 表达式中,顶级节点的值。 |
参数说明:
-
expr:指定用于查询的 XML 表达式。
使用示例:
SELECT xmlsequence('<Employee><id>36</id><name>Haines</name></Employee>') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------------------------------+ | result | +---------------------------------+ | <id>36</id><name>Haines</name> | +---------------------------------+
复制
xpath
函数语法 | 返回类型 | 描述 |
---|---|---|
xpath(xml, xpath) |
ARRAY<STRING> |
返回与 XPath 匹配的 xml 节点内的值。 |
参数说明:
-
xml:指定 XML 文本。
-
xpath:指定 XPath 表达式。
使用示例:
SELECT xpath('<a><b>b1</b><b>b2</b><b>b3</b><c>c1</c><c>c2</c></a>', 'a/c/text()') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+--------------+ | result | +--------------+ | ["c1","c2"] | +--------------+
复制
xpath_boolean
函数语法 | 返回类型 | 描述 |
---|---|---|
xpath_boolean (xml, xpath[=val]) |
BOOLEAN |
判断 XML 文本中是否有匹配 XPath 的节点。 |
参数说明:
-
xml:指定 XML 文本。
-
xpath:指定 XPath 表达式。
-
=val:额外判断匹配的节点内容中,是否包含
val
中指定的内容。
使用示例:
SELECT xpath_boolean('<a><b>1</b></a>','a/b=0') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | false | +---------+
复制
xpath_double/xpath_number
函数 | 返回类型 | 描述 |
---|---|---|
|
DOUBLE |
对 XML 文档进行求值并以 DOUBLE 类型返回。 |
参数说明:
-
xml:指定 XML 文本。
-
expr(xpath):指定 XPath 表达式,支持使用 sum、count 等表达式对 XPath 中的值进行计算。
使用示例:
SELECT xpath_double('<a><b>1</b><b>2</b></a>','sum(a/b)') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3.0 | +---------+
复制
xpath_float
函数 | 返回类型 | 描述 |
---|---|---|
xpath_float (xml, expr(xpath)) |
FLOAT |
对 XML 文档进行求值并以 FLOAT 类型返回。 |
参数说明:
-
xml:指定 XML 文本。
-
expr(xpath):指定 XPath 表达式,支持使用 sum、count 等表达式对 XPath 中的值进行计算。
使用示例:
SELECT xpath_float('<a><b>1</b><b>2</b></a>','sum(a/b)') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3.0 | +---------+
复制
xpath_int
函数 | 返回类型 | 描述 |
---|---|---|
xpath_int (xml, expr(xpath)) |
INT |
对 XML 文档进行求值并以 INT 类型返回。 |
参数说明:
-
xml:指定 XML 文本。
-
expr(xpath):指定 XPath 表达式,支持使用 sum、count 等表达式对 XPath 中的值进行计算。
使用示例:
SELECT xpath_int('<a><b>1</b><b>2</b></a>','sum(a/b)') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3 | +---------+
复制
xpath_long
函数 | 返回类型 | 描述 |
---|---|---|
xpath_long (xml, expr(xpath)) |
LONG |
对 XML 文档进行求值并以 LONG 类型返回。 |
参数说明:
-
xml:指定 XML 文本。
-
expr(xpath):指定 XPath 表达式,支持使用 sum、count 等表达式对 XPath 中的值进行计算。
使用示例:
ELECT xpath_long('<a><b>1</b><b>2</b></a>','sum(a/b)') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3 | +---------+
复制
xpath_short
函数 | 返回类型 | 描述 |
---|---|---|
xpath_short (xml, expr(xpath)) |
SHORT |
对 XML 文档进行求值并以 SHORT 类型返回。 |
参数说明:
-
xml:指定 XML 文本。
-
expr(xpath):指定 XPath 表达式,支持使用 sum、count 等表达式对 XPath 中的值进行计算。
使用示例:
SELECT xpath_short('<a><b>1</b><b>2</b></a>','sum(a/b)') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | 3 | +---------+
复制
xpath_string
函数语法 | 返回类型 | 描述 |
---|---|---|
xpath_string(<xml>,<xpath>) |
STRING |
返回与 XPath 表达式匹配的第一个 XML 节点的内容。 |
参数说明:
-
xml:指定 XML 文本。
-
xpath:指定 XPath 表达式。
使用示例:
SELECT xpath_string('<a><b>b</b><c>cc</c></a>','a/c') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | cc | +---------+
复制
xpathstring_plus
函数语法 | 返回类型 | 描述 |
---|---|---|
xpathstring_plus(xml, xpath1, xpath2) |
STRING |
返回第一个匹配 XPath1 和 XPath2 表达式的 XML 节点的文本内容。 |
参数说明:
-
xml:指定 XML 文本。
-
xpath1:指定第一个 XPath 表达式。
-
xpath2:指定第二个 XPath 表达式。
使用示例:
SELECT xpathstring_plus('<a><b>b1</b><b>b2</b></a>','a','b') AS result FROM system.dual LIMIT 1;
复制
返回示例:
+---------+ | result | +---------+ | b1 | +---------+
复制