Aracılığıyla paylaş


Tavan işlev (XQuery)

Kesirli bir parçası ve en az onun bağımsız değişkenin değeri olmadan en küçük sayıyı verir. Bağımsız değişken boş sırası ise, boş sırası döndürür.

Sözdizimi

fn:ceiling ( $arg as numeric?) as numeric?

Bağımsız değişkenler

  • $arg
    Işlev uygulandığı numarası.

Açıklamalar

Eğer türü $argüç sayısal temel türlerinden biri xs: float, xs: Double, veya xs: decimal, dönüş türü aynı olan $argtürü.

Eğer türü $argsayısal türleri birinden elde edilen bir tür dönüş türü temel sayısal türüdür.

FN: Floor, FN: ceiling veya FN: round işlevleri girişi ise xdt: untypedAtomic, örtülü olarak için atıldı xs: Double.

Başka bir türü statik bir hata üretir.

Örnekler

Bu konu çeşitli depolanan xml örnekleri karşı XQuery örnekler sağlar xml AdventureWorks veritabanındaki sütunları yazın. Bu sütunlar genel bakış için bkz: DEL - xml Data Type Representation in the AdventureWorks2008R2 Database.

A.Ceiling() XQuery işlevini kullanma

Ürün modeli 7 için bu sorgu, ürün modeli üretim sürecinde iş merkezi konumları listesini döndürür. Her iş merkezi konumu, konum kodu, işçilik saat ve lot boyutu, belgelenen Eğer sorgu döndürür. Sorgu kullanır tavan işçilik saat türü değerleri olarak dönmek için işlevi ondalık.

SELECT ProductModelID, Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"; 
     for $i in /AWMI:root/AWMI:Location
     return 
       <Location LocationID="{ $i/@LocationID }" 
                   LaborHrs="{ ceiling($i/@LaborHours) }" >
                    { 
                      $i/@LotSize
                    }  
       </Location>
') AS Result
FROM Production.ProductModel
WHERE ProductModelID=7

SELECT ProductModelID, Instructions.query('
declare namespace AWMI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"; 
     for $i in /AWMI:root/AWMI:Location
     return 
       <Location LocationID="{ $i/@LocationID }" 
                   LaborHrs="{ ceiling($i/@LaborHours) }" >
                    { 
                      $i/@LotSize
                    }  
       </Location>
') AS Result
FROM Production.ProductModel
WHERE ProductModelID=7

Önceki sorgudan aşağıdakilere dikkat edin:

  • Ad alanı öneki AWMI Adventure Works üretim yönergeleri için duruyor. Bu önek sorgulanan belgede kullanılan aynı ad alanını gösterir.

  • Yönergeleri olan bir xml sütun türü. Bu nedenle, query() yöntemi (xml veri türü) XQuery belirtmek için kullanılır. XQuery deyimini sorgu yöntemine argüman olarak belirtilir.

  • için... dönüş bir döngü yapıdır. Sorgu, için döngü tanımlar listesi <yer> öğeleri. Her iş merkezi konumu dönmek deyimi için döngüsü açıklar xml oluşturulacak:

    • A <yer> LocationID ve LaborHrs öznitelikleri olan öğe. İlgili ifade kaşlı ayraç ({}) içinde belge için gerekli değerleri alır.

    • {$İ/@LotSize} ifadesi LotSize özniteliği varsa belgeden alır.

    • Sonuç şudur:

ProductModelID Result  
-------------- ------------------------------------------------------
7      <Location LocationID="10" LaborHrs="3" LotSize="100"/>
       <Location LocationID="20" LaborHrs="2" LotSize="1"/>   
       <Location LocationID="30" LaborHrs="1" LotSize="1"/>   
       <Location LocationID="45" LaborHrs="1" LotSize="20"/>
       <Location LocationID="60" LaborHrs="3" LotSize="1"/>   
       <Location LocationID="60" LaborHrs="4" LotSize="1"/>

ProductModelID Result  
-------------- ------------------------------------------------------
7      <Location LocationID="10" LaborHrs="3" LotSize="100"/>
       <Location LocationID="20" LaborHrs="2" LotSize="1"/>   
       <Location LocationID="30" LaborHrs="1" LotSize="1"/>   
       <Location LocationID="45" LaborHrs="1" LotSize="20"/>
       <Location LocationID="60" LaborHrs="3" LotSize="1"/>   
       <Location LocationID="60" LaborHrs="4" LotSize="1"/>

Uygulama kısıtlamaları

Bu sınırlamalar şunlardır:

  • Ceiling() işlevi tüm tamsayı değerler için xs: decimal eşleştirir.

Ayrıca bkz.

Başvuru

Kat işlev (XQuery)

YUVARLA işlevi (XQuery)