Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Semua contoh dalam Ekspresi Jalur (XQuery) menggunakan sintaksis yang tidak disingkat untuk ekspresi jalur. Sintaksis yang tidak disingkat untuk langkah sumbu dalam ekspresi jalur mencakup nama sumbu dan pengujian simpul, dipisahkan oleh titik dua, dan diikuti oleh kualifikasi langkah nol atau lebih.
Contohnya:
child::ProductDescription[attribute::ProductModelID=19]
XQuery mendukung singkatan berikut untuk digunakan dalam ekspresi jalur:
Sumbu
childadalah sumbu default. Oleh karena itu,child::sumbu dapat dihilangkan dari langkah dalam ekspresi. Misalnya,/child::ProductDescription/child::Summarydapat ditulis sebagai/ProductDescription/Summary.Sumbu
attributedapat disingkat sebagai @. Misalnya,/child::ProductDescription[attribute::ProductModelID=10]dapat ditulis sebagai/ProductDescription[@ProductModelID=10].Dapat
/descendant-or-self::node()/disingkat sebagai //. Misalnya,/descendant-or-self::node()/child::act:telephoneNumberdapat ditulis sebagai//act:telephoneNumber.Kueri sebelumnya mengambil semua nomor telepon yang disimpan di kolom AdditionalContactInfo di tabel Kontak. Skema untuk AdditionalContactInfo didefinisikan dengan cara agar <elemen telephoneNumber> dapat muncul di mana saja dalam dokumen. Oleh karena itu, untuk mengambil semua nomor telepon, Anda harus mencari setiap simpul dalam dokumen. Pencarian dimulai di akar dokumen dan berlanjut melalui semua simpul turunan.
Kueri berikut mengambil semua nomor telepon untuk kontak pelanggan tertentu:
SELECT AdditionalContactInfo.query(' declare namespace act="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes"; declare namespace crm="https://schemas.adventure-works.com/Contact/Record"; declare namespace ci="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactInfo"; /descendant-or-self::node()/child::act:telephoneNumber ') AS result FROM Person.Contact WHERE ContactID = 1;Jika Anda mengganti ekspresi jalur dengan sintaks yang disingkat,
//act:telephoneNumber, Anda menerima hasil yang sama.Dalam
self::node()satu langkah dapat disingkat ke satu titik (.). Namun, titik tidak setara atau dapat dipertukarkan denganself::node().Misalnya, dalam kueri berikut, penggunaan titik mewakili nilai dan bukan simpul:
("abc", "cde")[. > "b"]Dalam
parent::node()satu langkah dapat disingkat ke titik ganda (..).