2014-01-28 43 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