Oracle SQL中的XML值返回时带空格
我试图从Oracle数据库中提取XML,并试图在返回值之间添加间距,但遇到了一些问题: XML:Oracle SQL中的XML值返回时带空格,sql,xml,oracle,Sql,Xml,Oracle,我试图从Oracle数据库中提取XML,并试图在返回值之间添加间距,但遇到了一些问题: XML: <Value>Value1</Value><Value>Value2</Value><Value>Value3</Value> 显示为Value1Value2Value3 它应显示为值1值2值3注意空格 如何执行此操作?对于11g及以上版本,使用xmltable和字符串联接有一种方法: with sample_data as
<Value>Value1</Value><Value>Value2</Value><Value>Value3</Value>
显示为Value1Value2Value3
它应显示为值1值2值3注意空格
如何执行此操作?对于11g及以上版本,使用xmltable和字符串联接有一种方法:
with sample_data as (select xmltype('<root><value>Value1</value><value>Value2</value><value>Value3</value></root>') x from dual)
select x.result
from sample_data sd,
xmltable('string-join(/root/value, " ")' passing sd.x
columns result varchar2(4000) path '.') x;
RESULT
--------------------
Value1 Value2 Value3
这不是有效的XML;没有根节点,破折号是关于什么的?我添加为堆栈溢出站点的破折号会由于括号而隐藏XML值,请忽略它们。我明白了,但这不会发生在代码块中;一旦Orion将其格式化为块,破折号可以/应该被删除。我现在把它们拿出来了。
with sample_data as (select xmltype('<root><value>Value1</value><value>Value2</value><value>Value3</value></root>') x from dual)
select x.result
from sample_data sd,
xmltable('string-join(/root/value, " ")' passing sd.x
columns result varchar2(4000) path '.') x;
RESULT
--------------------
Value1 Value2 Value3