22 Mayıs 2009, Cuma
SQL Server 2008 XML alan seçin değerleri
Sadece XML alanım bakarak, benim satırlar şöyle:
<person><firstName>Jon</firstName><lastName>Johnson</lastName></person>
<person><firstName>Kathy</firstName><lastName>Carter</lastName></person>
<person><firstName>Bob</firstName><lastName>Burns</lastName></person>
Bu benim tabloda üç satır olduğunu unutmayın.
Gibi bir tablo olarak SQL sonucu iade etmek istiyorum
Jon | Johnson
Kathy| Carter
Bob | Burns
Ne sorgu bunu?
CEVAP
22 Mayıs 2009, Cuma
Dikkate alarak bu XML veri geliyor bir tablo 'tablo' ve saklanır bir sütun 'alan' kullanın: XML methods, özü değerleri ile xml.value() proje düğümleri ile xml.nodes(), CROSS APPLY katılmak için:
SELECT
p.value('(./firstName)[1]', 'VARCHAR(8000)') AS firstName,
p.value('(./lastName)[1]', 'VARCHAR(8000)') AS lastName
FROM table
CROSS APPLY field.nodes('/person') t(p)
Düğümler hendek() ve çapraz eğer her alanda bir öğe varsa Uygula''. kişi Eğer XML değişken ise @değişken seçin.(...) düğümler ve Haç uygulamak gerekmez.
Bunu Paylaş:
Nasıl yapılır: SQL Server 2008 R2'deki...
Nasıl SQL Server aynı sunucu üzerinde ...
Parametreli GÖRÜNÜM oluşturmak SQL Ser...
Pad sıfır sıfır bir dize SQL Server 20...
Nasıl bir kayıt (select top 1) Her kay...