Konvertieren von XML-Knoten zu Zeilen in SQL server

Betrachten Sie die folgende Probe:

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>' 

Das obige XML hat einige ID Werte, die ich in Zeilen von data konvertieren muss, die in einer temporären Tabelle verwendet werden können, um Joins gegenzuführen.

Ich kann die Syntax nicht richtig bekommen, ich habe eine Reihe von Samples ausprobiert, auf die ich gekommen bin:

 SELECT Trvalue('.','int') as id FROM @somexml.nodes('/Settings/Users') T(r) 

Kehrt zurück:

 |ID | |------| |12345 | 

Folgende:

 SELECT Trquery('.') as id from @somexml.nodes('/Settings/Users/ID') as T(r) 

Kehrt zurück:

 |ID | |-----------| |<ID>1</ID> | |<ID>2</ID> | |<ID>3</ID> | |<ID>4</ID> | |<ID>5</ID> | 

Ich bin in der Nähe, aber ich möchte die XML Tags entfernen, um einfach die ID-Werte wie folgt zu lassen:

 |ID | |---| | 1 | | 2 | | 3 | | 4 | | 5 | 

Hier ist eine Geige, wenn du so spielen / lösen möchtest: SQL Fiddle

Jede Hilfe wird wie immer geschätzt.

Ersetzen Sie Trquery('.') as id mit Trvalue('.', 'INT') as id