SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Break

    Break

    10 Aralık 2005
  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011
  • ItZWaffleS420

    ItZWaffleS42

    9 EYLÜL 2011