SAPHANA学习(24):SQL Function(X)

Posted 渔歌晚唱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAPHANA学习(24):SQL Function(X)相关的知识,希望对你有一定的参考价值。

153. XMLEXTRACT

XMLEXTRACT(<XML_document>, <XPath_query> [,<NamespaceDeclarations>])

<XML_document>

Specifies an XML document of type CLOB, NCLOB, VARCHAR, or NVARCHAR.

<XPath_query>

Specifies an XPath expression of type VARCHAR or NVARCHAR.

<NamespaceDeclarations>

Specifies a namespace declaration of type VARCHAR or NVARCHAR.

 

XMLEXTRACTVALUE(<XML_document>, <XPath_query> [,<NamespaceDeclarations>])

 

XMLTABLE( [ <XML_namespace_clause>, ]

  <row_pattern> PASSING <XML_argument> COLUMNS <column_definitions>

  <error_option>

 )

创建关系表根据XML字符串

XMLNAMESPACE (<XML_namespace>[, ...]

  [DEFAULT <default_namespace>]

<XML_namespace> ::= <namespace_url> AS <namespace_alias>

<row_pattern> ::= <str_const>

Describes the format of the xmlNodes in the XML with an XPath expression.

<XML_argument> ::= <str_const>| <column_ref>

 

<column_definitions> ::= <column_name> <column_type> [, <column_name> <column_type>,...]

<column_name> ::= <identifier>

<column_type> ::= FOR ORDINALITY

  | <regular_column_return_type> PATH <column_pattern> [DEFAULT <str_const>]

  | <formatted_column_return_type> FORMAT XML PATH <column_pattern> [DEFAULT <str_const>]

<column_pattern> ::= <str_const>

Specifies the xPath Expression to use to extract the value for a column.

<formatted_column_return_type> ::= VARCHAR (<int_const>)| NVARCHAR (<int_const>)

*/

--不存在?

SELECT XMLEXTRACT(
    <doc><item><id>1</id><name>Box</name></item><item><id>2</id><name>Jar</name></item></doc>,  
    /doc/item[2]/name
 ) FROM DUMMY;

SELECT XMLEXTRACT(                        
    <doc xmlns:ns1="http://namespace1.sap.com" xmlns:ns2="http:// namespace2.sap.com">
    <ns1:item><ns1:id>1</ns1:id><ns1:name>Box</ns1:name></ns1:item>     
    <ns1:item><ns1:id>2</ns1:id><ns1:name>Jar</ns1:name></ns1:item>     
    <ns2:item><ns2:id>3</ns2:id><ns2:name>Table</ns2:name></ns2:item></doc>,  
    /doc/ns1:item[2]/ns1:name,  
    xmlns:ns1="http://namespace1.sap.com" xmlns:ns2="http://namespace2.sap.com"
 ) FROM DUMMY;

--出错!
SELECT * FROM
 XMLTABLE(/doc/item
 PASSING <doc><item><id>10</id><name>Box</name></item><item><id>20</id><name>Jar</name></item></doc>
 COLUMNS ID INT PATH id,
 NAME VARCHAR(20) PATH name ) AS XTABLE;

 

以上是关于SAPHANA学习(24):SQL Function(X)的主要内容,如果未能解决你的问题,请参考以下文章

SAPHANA学习(26):SQL Function 分类汇总

SAPHANA学习:SQL Function(B)

SAPHANA学习(22):SQL Function(V)

SAPHANA学习(21):SQL Function(U)

SAPHANA学习(23):SQL Function(W)

SAPHANA学习(20):SQL Function(T)