Fungsi Konteks - terakhir (XQuery)
Berlaku untuk:SQL Server
Mengembalikan jumlah item dalam urutan yang saat ini sedang diproses. Secara khusus, ini mengembalikan indeks bilangan bulat dari item terakhir dalam urutan. Item pertama dalam urutan memiliki nilai indeks 1.
Sintaks
fn:last() as xs:integer
Keterangan
Di SQL Server, fn:last() hanya dapat digunakan dalam konteks predikat tergantung konteks. Secara khusus, itu hanya dapat digunakan di dalam tanda kurung ([ ]
).
Contoh
Topik ini menyediakan contoh XQuery terhadap instans XML yang disimpan di berbagai kolom jenis xml di database AdventureWorks.
J. Menggunakan fungsi XQuery terakhir() untuk mengambil dua langkah manufaktur terakhir
Kueri berikut mengambil dua langkah manufaktur terakhir untuk model produk tertentu. Nilai, jumlah langkah manufaktur, yang dikembalikan oleh fungsi last() digunakan dalam kueri ini untuk mengambil dua langkah manufaktur terakhir.
SELECT ProductModelID, Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
<LastTwoManuSteps>
<Last-1Step>
{ (/AWMI:root/AWMI:Location)[1]/AWMI:step[(last()-1)]/text() }
</Last-1Step>
<LastStep>
{ (/AWMI:root/AWMI:Location)[1]/AWMI:step[last()]/text() }
</LastStep>
</LastTwoManuSteps>
') as Result
FROM Production.ProductModel
WHERE ProductModelID=7
Dalam kueri sebelumnya, fungsi last() di //AWMI:root//AWMI:Location)[1]/AWMI:step[last()]
mengembalikan jumlah langkah manufaktur. Nilai ini digunakan untuk mengambil langkah manufaktur terakhir di lokasi pusat kerja.
Ini adalah hasilnya:
ProductModelID Result
-------------- -------------------------------------
7 <LastTwoManuSteps>
<Last-1Step>
When finished, inspect the forms for defects per
Inspection Specification .
</Last-1Step>
<LastStep>Remove the frames from the tool and place them
in the Completed or Rejected bin as appropriate.
</LastStep>
</LastTwoManuSteps>