Convertir nodos XML a filas en SQL Server
Considere la siguiente muestra:
declare @somexml as xml
set @somexml = '
<Settings>
<Users>
<ID>1</ID>
<ID>2</ID>
<ID>3</ID>
<ID>4</ID>
<ID>5</ID>
</Users>
</Settings>'
Lo anteriorXML
Tiene algunosID
valores que necesito convertir en filas de datos que se pueden usar en una tabla temporal para realizar uniones.
No puedo obtener la sintaxis correcta, he probado varias muestras con las que me he encontrado:
SELECT T.r.value('.','int') as id
FROM @somexml.nodes('/Settings/Users') T(r)
Devoluciones:
|ID |
|------|
|12345 |
El seguimiento:
SELECT T.r.query('.') as id
from @somexml.nodes('/Settings/Users/ID') as T(r)
Devoluciones:
|ID |
|-----------|
|<ID>1</ID> |
|<ID>2</ID> |
|<ID>3</ID> |
|<ID>4</ID> |
|<ID>5</ID> |
Me estoy acercando, pero quiero eliminar elXML
etiquetas para dejar los valores de ID de esta manera:
|ID |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
Aquí hay un violín si quieres jugar / resolver de esa manera:Violín de SQL
Cualquier ayuda es apreciada como siempre.