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
Mengembalikan nilai $arg yang direpresentasikan sebagai string.
Sintaks
fn:string() as xs:string
fn:string($arg as item()?) as xs:string
Argumen
$arg
Simpul atau nilai atomik.
Keterangan
Jika $arg adalah urutan kosong, string panjang nol dikembalikan.
Jika $arg adalah simpul, fungsi mengembalikan nilai string dari simpul yang diperoleh dengan menggunakan aksesor nilai string. Ini didefinisikan dalam spesifikasi Model Data W3C XQuery 1.0 dan XPath 2.0.
Jika $arg adalah nilai atomik, fungsi mengembalikan string yang sama yang dikembalikan oleh ekspresi yang ditransmisikan sebagai
xs:string, $arg, kecuali jika dicatat sebaliknya.Jika jenis $arg adalah
xs:anyURI, URI dikonversi menjadi string tanpa melarikan diri dari karakter khusus.Dalam implementasi ini,
fn:string()tanpa argumen hanya dapat digunakan dalam konteks predikat tergantung konteks. Secara khusus, itu hanya dapat digunakan di dalam tanda kurung ([ ]).
Contoh
Artikel ini menyediakan contoh XQuery terhadap instans XML yang disimpan di berbagai kolom jenis xml di database AdventureWorks.
J. Menggunakan fungsi string
Kueri berikut mengambil simpul <Features> elemen turunan dari <ProductDescription> elemen .
SELECT CatalogDescription.query('
declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
/PD:ProductDescription/PD:Features
')
FROM Production.ProductModel
WHERE ProductModelID = 19;
Berikut hasil parsialnya:
<PD:Features xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
These are the product highlights.
<p1:Warranty xmlns:p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain">
<p1:WarrantyPeriod>3 years</p1:WarrantyPeriod>
<p1:Description>parts and labor</p1:Description>
</p1:Warranty>
...
</PD:Features>
Jika Anda menentukan string() fungsi , Anda menerima nilai string dari simpul yang ditentukan.
SELECT CatalogDescription.query('
declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
string(/PD:ProductDescription[1]/PD:Features[1])
')
FROM Production.ProductModel
WHERE ProductModelID = 19;
Berikut hasil parsialnya.
These are the product highlights.
3 yearsparts and labor...
B. Menggunakan fungsi string pada berbagai simpul
Dalam contoh berikut, instans XML ditetapkan ke variabel jenis xml. Kueri ditentukan untuk mengilustrasikan hasil penerapan string() ke berbagai simpul.
DECLARE @x AS XML;
SET @x = '<?xml version="1.0" encoding="UTF-8" ?>
<!-- This is a comment -->
<root>
<a>10</a>
just text
<b attr="x">20</b>
</root>
';
Kueri berikut mengambil nilai string dari simpul dokumen. Nilai ini dibentuk dengan menggabungkan nilai string dari semua simpul teks turunannya.
SELECT @x.query('string(/)');
Berikut hasilnya:
This is a comment 10
just text
20
Kueri berikut mencoba mengambil nilai string dari simpul instruksi pemrosesan. Hasilnya adalah urutan kosong, karena tidak berisi simpul teks.
SELECT @x.query('string(/processing-instruction()[1])');
Kueri berikut mengambil nilai string dari simpul komentar dan mengembalikan simpul teks.
SELECT @x.query('string(/comment()[1])');
Berikut hasilnya:
This is a comment