Sql server’da tablo kolonunda xml saklayabiliyoruz. Bu xml tipindeki kolonlarda verileri xquery ile sorgulayabiliyoruz.
Mesela sql server’da TempTable isimli tablomuzun içinde XmlFile kolonunda aşağıdaki xml verisi tutuluyor olsun.
<Kategori> <KategoriID>1</KategoriID> <KategoriAdi>Bilgisayar</KategoriAdi> </Kategori>
her satırdaki xmlde o satıra ait kategori bilgileri tutuluyor. Şimdi her satır için kategori adını getiren sorguyu yazalım
SELECT XmlFile.query('Kategori/KategoriAdi').value('(/KategoriAdi)[1]','varchar(200)') FROM TempTable
(/KategoriAdi)[1] ile xmldeki ilk kategoriAdı bilgisini getirmesini sağlıyoruz. 2 tane KategoriAdi olsa ikincisini getirmek için (/KategoriAdi)[2] olarak kullanmamız gerekecekti.
Aynı sorguyu şu şekilde de yazabiliriz
SELECT XmlFile.query('Kategori/KategoriAdi').value('.','varchar(200)') FROM TempTable
Fakat xml’de birden fazla KategoriAdi verisi olsaydı, bu şekilde yazsaydık o satıra ait bütün kategori adlarını yan yana yazarak sonuç dönecekti. BilgisayarTelefonElektronik gibi. Şu an tek kategori adı olduğu için sonuç yukarıdaki sorgu ile aynı olacaktır.