2014-01-28 40 views
0

值的列表,如果我有一个XML字符串这样SQL提取给出的xmlString(甲骨文)

<xml> 
    <myid>1</myid> 
    <myid>2</myid> 
    <myid>3</myid> 
</xml> 

如何将我用sql得到公正的身份识别码的名单?

我想我可以尝试这样。内部选择返回XML,但我怎么得到的值?

select .... from (select xmltype('<xml><myid>1</myid><myid>2</myid><myid>3</myid></xml>') as xmlidlist from dual) 
+1

您使用什么媒介,SQL不适用于XML。你有什么尝试? – earl3s

回答

0

你可以这样做从字符串中提取值,但它看起来有点像矫枉过正。

select x.myid 
from xmltable('/xml/*' 
    passing xmltype(' 
<xml> 
    <myid>1</myid> 
    <myid>2</myid> 
    <myid>3</myid> 
</xml>') 
    columns myid path '/myid') x; 

SQL Fiddle

+0

This Works Thanks! – cableload

0

我假设你在你的SQL数据库中有一个XML类型的列表中的XML代码。也许这样?

select collumnName.query('/myid') from tableName 
+0

我没有它作为一个xmltype列!它只是一个xmlstring ... – cableload