işlev (XQuery) sayısı
Belirtilen sırada içerdiği öğe sayısını döndürür. $arg.
fn:count($arg as item()*) as xs:integer
Bağımsız değişkenler
- $arg
Sayılacak öğe'yi tıklatın.
Remarks
0 Verir $arg bir boş dizisidir.
Örnekler
Bu konu, çeşitli içinde depolanan XML örnekleri karşı XQuery örnekler sağlar. XML türü sütunlarındaki AdventureWorks veritabanındaki.Konusuna genel bir bakış bu sütunların her biri için bkz: XML veri türü temsili AdventureWorks veritabanındaki.
C.Iş merkezi konumda üretim ürün modelinin sayısını saymak için count() XQuery işlev kullanma
Yerleşimlerin iş merkezi üretim işleminin bir ürün modelinin aşağıdaki sorgu sayar (Productmodelıd = 7).
SELECT Production.ProductModel.ProductModelID,
Production.ProductModel.Name,
Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
<NoOfWorkStations>
{ count(/AWMI:root/AWMI:Location) }
</NoOfWorkStations>
') as WorkCtrCount
FROM Production.ProductModel
WHERE Production.ProductModel.ProductModelID=7
Önceki sorgudan aşağıdakilere dikkat edin:
The namespace keyword in XQuery Prolog defines a namespace prefix.Önek, daha sonra XQuery gövdesine kullanılır.
Sorgu içeren bir XML yapıları <NoOfWorkStations> öğe.
The count() işlev in the XQuery body counts the number of <Location> elements.
Bu sonucu oluşur:
ProductModelID Name WorkCtrCount
-------------- ---------------------------------------------------
7 HL Touring Frame <NoOfWorkStations>6</NoOfWorkStations>
Ayrıca, aşağıdaki sorguda gösterildiği gibi ürün modeli KIMLIĞI ve adı dahil etmek için XML gerçekleştirebilmesi:
SELECT Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
<NoOfWorkStations
ProductModelID= "{ sql:column("Production.ProductModel.ProductModelID") }"
ProductModelName = "{ sql:column("Production.ProductModel.Name") }" >
{ count(/AWMI:root/AWMI:Location) }
</NoOfWorkStations>
') as WorkCtrCount
FROM Production.ProductModel
WHERE Production.ProductModel.ProductModelID= 7
Bu sonucu oluşur:
<NoOfWorkStations ProductModelID="7"
ProductModelName="HL Touring Frame">6</NoOfWorkStations>
XML yerine, aşağıdaki sorguda gösterilen bu değerleri olmayan xml türünde döndürebilir.Sorguyu kullanan Value() yöntem (xml veri türü) , iş merkezi konum sayısı alınamıyor.
SELECT ProductModelID,
Name,
Instructions.value('declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
count(/AWMI:root/AWMI:Location)', 'int' ) as WorkCtrCount
FROM Production.ProductModel
WHERE ProductModelID=7
Bu sonucu oluşur:
ProductModelID Name WorkCtrCount
-------------- ---------------------------------
7 HL Touring Frame 6