Questo SQL restituisce solo il primo elemento Activity. Come selezionarli tutti? Se rimuovo [1] nella query ottengo un errore che "value() richiede un singleton".Ottenere più record dalla colonna xml con value() in SQL Server
DECLARE @myDoc xml
SET @myDoc =
'<Root>
<Activities>
<Activity>This is activity one</Activity>
<Activity>This is activity two</Activity>
<Activity>This is activity three</Activity>
</Activities>
</Root>'
SELECT @myDoc.value('(/Root/Activities/Activity)[1]', 'varchar(100)')
Cosa succede se il tag XML viene visualizzato più volte e desidero selezionare tutte le volte che appare? http://stackoverflow.com/questions/26426412/how-to-ensure-the-sql-is-able-to-read-all-xml-tag-data – SearchForKnowledge
Che cos'è T e cos'è C –
T è un alias per la tabella derivata creata dalla funzione nodi. La funzione di nodi restituisce una parte di xml che include tutti i nomi e i valori del nodo Attività (e restituirebbe anche eventuali nodi e valori figlio se ce ne fossero). C è un alias di colonna, in questo caso suddivide l'xml in nodi 'Attività' su ogni riga di quella colonna. – Davos